Follow-Up to HCLSIG BioRDF Conference Call - June 19th

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
ogbujic@ccf.org

Received on Monday, 19 June 2006 17:24:37 UTC