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]