Background to API for Reference Linking
Motivation for Defining a Linkable API
I have been asked to define the api for a "linkable document". Carl Lagoze
noted that:
For example, the Web is now populated by documents that
are pretty crude in their APIs (you can just retrieve
them). In a "perfect architecture" what would be the
operational semantics of documents (digital objects) to
allow perfect linking in and linking out (and other
functionality).
The first step is to determine what operations should be performable
on linkable objects. For example, one operation could be to get their
list of references. Once the API is defined, the second step
would be to provide a proof of concept by
programming a disseminator in FEDORA:
Once defined, we might be able to model this using our
FEDORA architecture by creating "linking surrogates"
for objects on the web. Using these surrogates we
could create fairly generic cross archive linkages.
At Cornell the objects are in LANL and ACM archives, copies of which are
kept on local disk, but the principle is the same. My job is to
come up with the linking surrogate, which implements the API that is
developed in the first step above.
Note that a surrogate exists only for linkable objects. To
carry out reference linking, though, we probably want to keep some data
about every reference, whether it is in the archive or not.
Once we have a fairly general surrogate, we can do intra-archive linking,
and then of course the next step would be to make a reference linking service:
Finally, we should think about what a "linking service"
might look like and how it might interoperate with other
digital library services. For example, there certainly
is some relationship between services that define digital
library collections and linkage operations (as Herbert
V.S. has demonstrated). Certainly, linkage views should
be customizable by individuals. One interesting path of
research/development might be in the area of personalized
linkage spaces.
Notice that Carl deftly avoids the reference linking vs. citation linking
quibbles, by just using "linking".
Any reference linking service we come up with could be
added to the Dienst architecture.
The idea to think about personalized linkage spaces is interesting.
For example, you might not be interested in links where retrieving
the reference would cost money.
$HOME/private/DLRG/ReferenceLinking/background.html (2000/03/17)