Identifiers and Types CS 431 Architecture of Web
Identifiers and Types CS 431 – Architecture of Web Information Systems Carl Lagoze – Cornell University – Feb. 09, 2004 Cornell CS 431
Identity Change Persistence • Paradox: reality contains things that persist and change over time – Heraclitus and Plato: can you step into the same river twice? – Ship of Theseus: over the years, the Athenians replaced each plank in the original ship of Theseus as it decayed, thereby keeping it in good repair. Eventually, there was not a single plank left of the original ship. So, did the Athenians still have one and the same ship that used to belong to Theseus Cornell CS 431
Identity Change Persistence Cornell CS 431
Identifiers • Provide a key or handle linking abstract concepts to physical or perceptible entities • Provide us with a necessary figment of persistence • They are perhaps the one essential and common form of metadata • Why bother? – Finding things – Referring to things – Asserting ownership over things Cornell CS 431
I have lots of identifiers • • Carl Jay Lagoze, Dad, Hey you 123 -456 -7890 (SSN) 1234 -5678 -1234 (Visa Card) FZBMLH (US Airways locator on March 21 flight to San Diego) Cornell CS 431
Identifier Issues • Object granularity • Identifier Context • • – Object atomicity – Part/whole relationships Location independence Global uniqueness Persistent across time Human vs. machine generation Machine resolution Administration (centralized vs. decentralized) Intrinsic semantics Type specificity Cornell CS 431
Two common pre-digital identifiers • ISBN (International Standard Book Number) – Uniquely identifies every monograph (book) – One ISBN for each format • HP & SS hardback 0590353403 • HP & SS softcover 059035342 X – Number is semantically meaningful (components) – International administration (>150 countries) • ISSN (International Standard Serial Number) – Uniquely identifies every serial (not issue or volume) – Semantically meaningless – International administration Cornell CS 431
URI: Universal Resource Identifier • Generic syntax for identifiers of resources • Defined by RFC 2396 • Syntax: <scheme>: //<authority><path>? <query> – Scheme • Defines semantics of remainder of URI • ftp, gopher, http, mailto, news, telnet – Authority • Authority governing namespace for remainder of URI • Typically Internet-based server – Path • Identification of data within scope of authority – Query • String of information to be interpreted by authority Cornell CS 431
Why is RFC 2396 so big? • Character encodings • Partial and relative URIs Cornell CS 431
URL: Universal Resource Locator • String representation of the location for a resource that is available via the Internet • Use URI syntax • Scheme has function of defining the access (protocol) method. Used by client to determine the protocol to “speak”. – http: //an. org/index. html - open socket to an. org on port 80 and issue a GET for index. html – ftp: //an. org/index. html - open socket to an. org on port 21, open ftp session, issue ftp get for index. html…. Cornell CS 431
URL Issues • Persistence • Location dependence • Valid only at the item level – What about works, expressions, manifestations • Multiple resolution – “get the one that is cheapest, most reliable, most recent, most appropriate for my hardware, etc. ” • Non-digital resources? • Disconnection from the entity Cornell CS 431
URC – Uniform Resource Characteristic (Catalog) • Failed but interesting effort – Multiple resolution – Describe resource by its characteristics • Provide adequate bundled information about a resource (metadata) to create identification block for any given resource (including locations) – Exactly what are the common set of characteristics for describing different types of resources? – Where are these characteristics stored? Cornell CS 431
Robust Hyperlinks • Characteristic of document (metadata) is computed automatically via fingerprint of its content. • “Lexical” signatures: The top n words of a document chosen for rarity, subject to heuristic filters to aid robustness. – “a TF-IDF-like” measure – Five or so words are sufficient • Can be used to locate document (via search engine) after it is moved Cornell CS 431
Robust Hyperlinks – Why does this work? • Number of terms on Web is reportedly close to 10, 000. • If terms were distributed independently, the probability of 5 even moderately common terms occurring in more than one document is very small. – In fact, picking 3 terms restricted to those occurring in 100, 000 documents works pretty well. – Many documents contain very infrequently used words. – There is lots of room for independence to be off, and to play with term selection for robustness, etc. . • http: //www. cs. berkeley. edu/~phelps/Robust/ Cornell CS 431
URN – Universal Resource Name • “globally unique, persistent names” • Independence from location and location methods <URN> : : = "urn: " <NID> ": " <NSS> • NID: namespace identifier • NSS: namespace-specific string • examples: • urn: ISSN: 1234 -5678 • urn: isbn: 9044107642 • urn: doi: 10. 1000/140 Cornell CS 431
Why isn’t DNS sufficient (parenthetical comment) • Issue of semantic vs. non-semantic names • Changing ownership • Hierarchical legacy of DNS is sometimes inappropriate Cornell CS 431
Handles: Names for Internet Resources • Naming system for location-independent, persistent names • One name, multiple resolutions • http: //www. handle. net The resource named by a Handle can be: • • A library item A collection of library items A catalog record A computer An e-mail address A public key for encryption etc. , etc. . . Cornell CS 431
Syntax of Handles <naming_authority>/<locally_unique_string> or hdl: <naming_authority>/<locally_unique_string> Examples 10. 1234/1995. 02. 16. 42. 21; 9 cornell. cs/cstr-94. 45 loc/a 43 v-8940 cgr Cornell CS 431 (date-time stamp) (mnemonic name) (random string)
Example of a Handle and its Data Used to Identify Two Locations Handle loc. ndlp. amrlp/123456 Data type Handle data URL http: //www. loc. gov/. . . RAP loc/repository-1 r 4589 Cornell CS 431
Use of Handles in a Digital Library Repository User interface Cornell CS 431 Handle System Search System
Replication for Performance and Reliability Example: the Global Handle System Los Angeles, CA Cornell CS 431 Washington, DC
Proxies to Resolve Handles A Web browser can resolve Handles via a proxy. For example, the following URL can be used to resolve the Handle loc. ndlp. amrlp/3 a 16616: Cornell CS 431
Proxy Resolution URL to Proxy server URL hdl. handle. net WWW browser URL Resource Cornell CS 431 HTTP server Handle System
DOI – Digital Object Identifier • Technology and social infrastructure for naming • Established by publishers for persistent naming of entities (articles, journals, conference proceedings) • Cognizant of FRBR elements • Underlying technology is handle system – “persistent” names • Persistence is fortified by social underpinnings • Rules for establishing registration agencies – Multiple resolution – Registration/mechanism has metadata associated with it • doi: 10. 1000/186 Cornell CS 431
OCLC's Persistent URL (PURL) • A PURL is a URL -> Is fully compatible with today's Internet browsers -> Users need no special software • Has some of the desirable features of URNs • Lacks some desirable features of URNs -> Resolves only to a URL -> Does not support multiple resolution • Developed by OCLC • Software openly available http: //www. purl. org Cornell CS 431
PURL Syntax • A PURL is a URL. http: //purl. oclc. org/keith/home protocol resolver address name • PURL resolvers use standard http redirects to return the actual URL. Cornell CS 431
PURL Namespaces A PURL provides a local (not-global namespace) http: //purl. oclc. org/keith/home is different from http: //purl. stanford. edu/keith/home Cornell CS 431
OCLC PURL Resolution PURL server WWW browser URL Resource Cornell CS 431 HTTP server PURL database
Making links context sensitive • Why? • Conceptualize link as service rather than object targeted. Open. URL • – “Appropriate item” differs for each user – Licensing locality – Some users may want a choice (abstract, full text, etc. ) – Transports metadata about the work to… – A localized service that interprets the metadata and provides contextualized choices to the user. Cornell CS 431
Open. URL linking transportation of metadata & identifiers user-specific server e iv it ns link destination link destination se Open. URL linking t- Open. URL ex . nt reference link destination co link source provision of 431 Open. URL Cornell CS resolution of metadata & identifiers into services
Open. URL 0. 1 syntax http: //www. mysrv. org/menu? • id=doi: 10. 111/12345& • genre=article& • aulast=Weibel&aufirst=Stu&ISSN=35345353 &year=2001&volume=14&issue=3&spage=44& • pid=2829393& • sid=OCLC: Inspec Cornell CS 431
Why haven’t URNs caught on beyond certain communities? • Complexity of systems • One size does not fit all - special purpose URN schemes have been successful, e. g. , Pub. Med ID, Astrophysics Bib. Code • No guarantee of persistence – longevity is an organizational not technical issue • Requires well-regulated administrative systems • Absence of “killer” applications – although reference linking is emerging Cornell CS 431
Types: Not all data and content is the same • Format or Genre – How you sense it – What you can do with it – E. G. – audio, video, map, book • Type – What you need to process it – What is its bit layout • Compression or encoding Cornell CS 431
Multipurpose Internet Mail Extensions • RFC 822 – define textual format of email messages • RFC 2045 -2049 – Extend textual email to allow – Character sets other than US-ASCII – Extensible set of non-ASCII types for message bodies – Definition of multi-part mail (attachments) Cornell CS 431
MIME Types • Two part type hierarchy – Top level type • • • text audio video image application multipart – Examples • text/plain image/gif application/postscript • Extensions are handled by IANA Cornell CS 431
MIME in HTTP (Content Negotiation) • Accept in request-header – Accept: text/plain; q=0. 5, text/html, text/x-dvi; q=0. 8, text/xml • text/plain and text/xml are preferred, then text/x-dvi, then text/html • Content-Type in response-header – Content-Type: text/html Cornell CS 431
MIME is too limited • Two-level type depth is simplistic • Multi-media documents • “Documents” that have many types or views – FEDORA Cornell CS 431
- Slides: 37