From W3C Wiki
Jump to: navigation, search

A "Humane" Policy for Intelligent Web Agents and Interpretation via RDF/OWL

This page is an attempt to outline a best practice or 'social' convention by which a subset of full WebClosure can be achieved with vocabulary terms used by authors of instance graphs and ontologies that suggest additional, defining RDF graph URLs to dereference. The goal is to essentially achieve OntologicalClosure in a more guided way than simply having an RDF client attempt to dereference URIs of properties and class.

- I think that dereferencing URIs *when the reader wants to know more about them* is very natural and should be encouraged.

 I don't know what you mean by "forcibly".  It is up to the reader what links he persues. The author should leave appropriate breadcrumbs,
 but not dictate what the reader choses to look up. - TimBernersLee

- I agree, the language was too critical of adhoc dereferencing (I've made the change). The general idea I was shooting for, is to adopt a social contract such that the most useful breadcrumb trail can be followed by default. - Chimezie

The motivation is the existence of well established vocabulary terms that suggest to an RDF client when to attempt to dereference a URI for additional RDF content. Another motivating factor is the likelihood that the author(s) of an RDF instance and the dependent vocabulary schemas/ontologies are in a better position to determine an appropriate WebClosure (for purposes of reasoning, for instance) than a general heuristic that is more likely to end up with redundant content.

  • Regarding when to attempt to dereference a URI for additional RDF content, I think it's important to distinguish between the desire for the URI declaration versus the desire for other assertions about the URI's denoted resource. If you want the URI declaration, it is natural to FollowYourNose by deferencing the URI to find it. But for other assertions about the resource, there may be an unbounded number of sources (because anyone can reference the URI to make statements about its denoted resource), and hence these will inherently not necessarily be easy to find. Thus, assuming the WebClosure involves such other assertions, the OntologicalClosure of URI declarations is much more bounded than the WebClosure. I think the suggestions on this page are all good suggestions for helping others to locate other assertions about a resource, and as stated in Suggested Practice P4, I think URI owners should be encouraged to include such links with their URI declarations. -- DBooth

Below are some vocabulary terms that suggest the object of the assertion could actually be the URL of an RDF graph with additional, relevant content. In this first group, the suggestion is not necessary explicit in limiting the URL to resources that dereference to RDF graphs alone (for instance, rdfs:seeAlso is often used to reference annotative resources for human consumption – HTTP documents).

Suggestive Graph Link Properties (weak)

This next group are vocabulary terms with a *stronger* suggestion that the object of the assertion is the URL of a relevant RDF graph:

Suggestive Graph Link Properties (stronger)

A Class of Graph Linking Properties

Below is a bit of OWL which can be used to formally describe the set of properties with the characteristics mentioned above:

@prefix webarch: <http://www.w3.org/2001/tag/fdesc54/webarch#>.
@prefix rdfg: <http://www.w3.org/2004/03/trix/rdfg-1/Graph>.
   a owl:ObjectProperty;
   rdfs:comment "All properties whose range consist of information resources with RDF graph representations";
     [ a owl:Restriction;
       owl:onProperty webarch:representation; 
       owl:allValuesFrom rdfg:Graph ] .
rdfg:Graph rdfs:isDefinedBy <http://www.w3.org/2004/03/trix/rdfg-1/> .
webarch:representation rdfs:isDefinedBy <http://www.w3.org/2001/tag/fdesc54/idRes.rdf> .

Notice how the rdfg:Graph and webarch:representation terms are associated with the OWL/RDF graphs which define their semantics. A Semantic Web agent which follows the convention described on this page can dereference both these URIs specifically in order to determine the semantics for these terms.

Convention for Linking RDF Instances to Vocabularies

As a best practice, authors of RDF instance graphs should make liberal use of deployed RDF vocabulary terms in this second group to leave a 'trail' (see: FollowYourNose) to follow in order to construct an appropriate "closure". The word closure is specifically used here to describe the application of a model theory (expressed in a set of OWL-DL assertions in RDF) to a knowledge base (an RDF Dataset). In Description Logic, Horn Logic, Logic Programming, and First-order Logic, there is almost always a separation between the 'base' set of assertions (or facts) and the semantics (rules) which apply to the terms in the assertions.

So it follows here, that the recommendation is for authors to re-use (and make reference to) RDF vocabularies, especially those expressed as OWL ontologies. In addition they should take care to consider the interpretations ("consistency") which satisfy the constraints described in these vocabularies.

This document makes a clear distinction between the formulation of an RDF Graph as a result of merging representations resolved from URLs described by the terms above and the act of "browsing" clickable RDF content by either a human or an agent. One of the motivations for the distinction the fact that the use of ontology reduces the number of interpretations which apply to the RDF content. This is a very different way (very deterministic, and computationally efficient) of 'interpreting' RDF content than arbitrary derereference (by human or automaton) of URIs in RDF assertions with schemes which have a transport mechanism.

 For example:

@prefix rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix foaf: <http://xmlns.com/foaf/0.1/>.

<> a foaf:PersonalProfileDocument;
      rdfs:isDefinedBy <http://xmlns.com/foaf/0.1/index.rdf>;
      rdfs:isDefinedBy <http://vocab.org/relationship/index.rdf>.

<http://metacognition.info/profile/webwho.xrdf#chime> a foaf:Person;
         foaf:name “Chimezie Ogbuji”

    ... other assertions ...

Note, the rdfs:isDefinedBy property is used with “official” locations of the defining schemas for each vocabulary (i.e., these are anchored URLs that redirect to the current version via a service such as PURL.org for instance).

Convention for Linking Dependent RDF Vocabularies

Authors of RDF schemas and ontologies should also use of vocabulary terms such as owl:imports, rdfs:isDefinedBy, etc.. to associate dependent vocabularies (also using their “official” locations wherever possible). For instance, in order to achieve enough closure to apply the following two sets of N3 rules (without the 'supporting' facts included), an instance graph would need to link to the OWL ontology URL, which should link to the RDFS schema URL, which should link to the core RDF URL.