Just as a follow-up to my mention in today's BIORDF conversation about precedent with Scutters [1] in defining some best practices for linking RDF instance data to authoritative defining sources. I think it's important to note the distinction from dereferencing arbitrary URIs and linking the mention of a URI with its authoritative semantics. I think there is more merit in developing some best practices with the latter than there is in conversations about dereferencing URIs 'out of context' - so to speak. In particular, the issues faced by Scutters suggest some best practices we should consider. From the Scutter wiki:

[[[
In the context of RDFWeb and FOAF, a scutter is simply a computer program that loads, parses, interprets and acts upon the contents of a Web of interconnected RDF/XML documents. In this sense it is just a Semantic Web variant on the old theme of distributed Web indexing, sometimes called a 'harvester', 'spider', or 'robot'. The links between RDF documents are usually, but not necessarily, expressed using RDF's 'rdfs:seeAlso' property.
]]]

The suggestion here is that Scutters should attempt to dereference URIs associated with rdfs:seeAlso properties as a way of programatically expanding an RDF graph into other graphs that are relevant for various reasons (they contain other instance data, etc..). rdfs:seeAlso is one of 3 vocabulary terms that encourage (albeit informally) agents processing RDF graphs to attempt to dereference the associated URI. The other two are rdfs:isDefinedBy [3] and owl:imports [4]. Although the semantics of these two are not as concrete as they could be (in their defining ontologies), they do suggest a social contract for associating a name (a URI) with the semantics that define / ground it ontologically, which provides a stronger mechanism for consistently disambiguating meaning (across domains) than with an expressive naming convention (namespaces, LSIDs, etc.) alone.

A best practice could be for RDF instance graphs to express rdfs:isDefinedBy statements between the containing graph and a URL which provides the semantics for terms used in the graph (an RDFS schema or an OWL ontology). Such a URL should be an authoratitive location and as such the address wouldn't change, but the dereferenced content might. This way the most 'current' semantics for vocabulary terms can be dereferenced dynamically. Furthermore, ontologies can link into each other using owl:imports, providing a mechanism [5] to end with sufficient web closure [6] of the original RDF instance graph to support unambigous interpretation and reasoning across domains. Using FOAF as an example:

FOAF instance graph
   |
  rdfs:isDefinedBy
   |
   V
FOAF ontology (RDFS/OWL)
   |
  rdfs:isDefnedBy (more appropriate than owl:imports?)
   |
   V
OWL ontology  (RDFS)
   |
  owl:imports
   |
   V
RDFS schema (RDFS)


[1] http://rdfweb.org/topic/Scutter - Original RDFWeb Wiki On Scutters
[2] http://redfoot.net/scutter/ - A Comprehensive Scutter Framework for Redfoot
[3] http://www.w3.org/TR/rdf-schema/#ch_isdefinedby - rdfs:isDefinedBy
[4] http://www.w3.org/TR/owl-ref/#imports-def - owl:import
[5] http://esw.w3.org/topic/FollowYourNose - Follow Your Nose
[6] http://esw.w3.org/topic/WebClosure - Web Closure of RDF Graphs

Chimezie Ogbuji
Lead Systems Analyst
Thoracic and Cardiovascular Surgery
Cleveland Clinic Foundation
9500 Euclid Avenue/ W26
Cleveland, Ohio 44195
Office: (216)444-8593
[EMAIL PROTECTED]

Reply via email to