W3C home > Mailing lists > Public > public-rif-wg@w3.org > February 2009

Re: [RDF-OWL] what if there are no graphs at import locations?

From: Axel Polleres <axel.polleres@deri.org>
Date: Fri, 13 Feb 2009 09:46:41 +0000
Message-ID: <49954181.5070205@deri.org>
To: Dave Reynolds <der@hplb.hpl.hp.com>
CC: Jos de Bruijn <debruijn@inf.unibz.it>, RIF WG <public-rif-wg@w3.org>

Dave Reynolds wrote:
> The OWL (1) specs are not entirely internally consistent in this regard 
> as you've jointly pointed out.
> In current practice many applications and tools deal with ontologies 
> (and datasets in the case of SPARQL) not published at their URI, while 
> recommended good practice is to publish there.
> My preference would be:
> - use Axel's suggested phrasing of "referred to by u1,...,un"
> - say that recommended good practice is to resolve this reference by 
> treating the URI as a web location but that implementations MAY support 
> other mechanisms (e.g. local caches)


> - leave behaviour in the case where the reference cannot be resolved 
> undefined (in practice any tool would report such a failure but there 
> are use cases where proceeding with the subset of data you have 
> available at present is preferable to a complete abort)

we are actually developing tools which try to be tolerant in this 
respect, i.e. issue a warning only, but still proceed in case of e.g. a 
404 for some RDF import. So, indeed I would be either in favor of 
leaving this to the implementation or suggesting to treat such graph as 
emptyt and getting back a warning rather than prescribe to terminate 
with an error.

>> related: what if pi denotes the OWL DL profile, but ui does not point to
>> an OWL DL ontology?  Should the document be rejected?  I think so.

interesting aspect indeed.

> Seems reasonable so long as the requirement is SHOULD and not MUST. A 
> species check is moderately expensive and allowing implementers the 
> possibly to omit this in some circumstances would also seem reasonable.
> Dave
> Jos de Bruijn wrote:
>> As a clarification:
>> the OWL2 document you are referring to is merely a "normal" working
>> draft; it is not in last call, and I know for a fact that there have
>> already been substantial (and substantive) changes in the document since
>> the working draft of December.  So, this is not something we should base
>> our decisions on.
>> The section from the OWL semantics you are referring to is concerned
>> with the abstract syntax, not with RDF documents on the web.  In fact,
>> when going to the RDF world in section 5.4 [1] I read:
>> "[A collection of OWL DL ontologies] O is said to be imports closed iff
>> for any URI, u, in an imports directive in any ontology in O the RDF
>> parsing of the document accessible on the Web at u results in T(K),
>> where K is the ontology in O with name u."
>> This is very much in line with what we wrote in the RDF and OWL
>> compatibility document.
>> all that said, I don't care too much about this issue.  But we need to
>> get our facts straight when referring to other specifications.
>> Best, Jos
>> [1] http://www.w3.org/TR/owl-semantics/rdfs.html#5.4
>> Axel Polleres wrote:
>>> I am a bit surprised to see that we refer to a "RDF graphs accessible
>>> from the locations u1,...,un" in RIF imports, which suggests that we
>>> talk about URLs here, rather than URIs.
>>> Neither OWL, nor SPARQL, nor OWL2 do this:
>>> OWL [2, Section 3,4]:
>>> "The imported ontology is the one, if any, that has as name the argument
>>> of the imports construct. (This treatment of imports is divorced from
>>> Web issues. The intended use of names for OWL ontologies is to make the
>>> name be the location of the ontology on the Web, but this is outside of
>>> this formal treatment.)"
>>> SPARQL [3, section 8]:
>>> "A SPARQL query is executed against an RDF Dataset which represents a
>>> collection of graphs. An RDF Dataset comprises one graph, the default
>>> graph, which does not have a name, and zero or more named graphs, where
>>> each named graph is identified by an IRI."
>>> OWL2 [4, Section 9]:
>>> "Definition 3.1 (Import Closure): Let K be a collection of RDF graphs. K
>>> is imports closed iff for every triple in any element of K of the form x
>>> owl:imports u then K contains a graph that is referred to by u. The
>>> imports closure of a collection of RDF graphs is the smallest imports
>>> closed collection of RDF graphs containing the graphs."
>>> Neither of these specs require the URI/IRI of an ontology (or for a
>>> named graph in the case of SPARQL) to be dereferenceable on the Web, but
>>> this is - IMO intentionally - left open in the specs, just mentioning
>>> that the URI/IRI at identifies a graph/ontology. How this identification
>>> is specified is not part of the specs. While accessing the URI as a URL
>>> from the Web might be the default behavior, there are use cases where
>>> this may not be desirable (e.g. in a Triple store which has several
>>> named graphs stored, these graphs may not be (web) accessible, but only
>>> be called by these "names" within the triple store.)
>>> Likewise, I would be reluctant if we made any stronger assumptions here,
>>> which might be restrictive. I rather suggest to adopt something similar
>>> to the formulation in OWL above.
>>> Long written, briefly summarized:
>>> I suggest to replace
>>> "accessible from the locations u1,...,un"
>>> by
>>> "referred to by u1,...,un"
>>> This is though not directly related to your question, I see. But we
>>> could state e.g. something like "If there is no RDF graph (or, resp.
>>> ontology) referred to by uri u_i in an imports statement, the respective
>>>   graph SHOULD be treated as empty." (in case this is the behavior we
>>> want to advocate)
>>> Axel
>>> 2. http://www.w3.org/TR/owl-semantics/direct.html
>>> 3. http://www.w3.org/TR/rdf-sparql-query/
>>> 4. http://www.w3.org/TR/2008/WD-owl2-rdf-based-semantics-20081202/
>>> Jos de Bruijn wrote:
>>>> In section 5.2 of the RDF-OWL document [1] we specify how RIF documents
>>>> with two-ary import statements must be interpreted. however, we do not
>>>> say anything about the case that an import statement refers to a
>>>> location does not have an RDF graph.
>>>> So, if
>>>> Import(<u1> <p1>)
>>>>   ...
>>>> Import(<un> <pn>)
>>>> are the 2-ary import statements and one of u1,...,un does not point to
>>>> an RDF graph, what should happen?  Do we say that the document could be
>>>> rejected, or do we leave this unspecified?
>>>> related: what if pi denotes the OWL DL profile, but ui does not 
>>>> point to
>>>> an OWL DL ontology?  Should the document be rejected?  I think so.
>>>> Best, Jos
>>>> [1] http://www.w3.org/2005/rules/wiki/SWC#Interpretation_of_Profiles

Dr. Axel Polleres
Digital Enterprise Research Institute, National University of Ireland, 
email: axel.polleres@deri.org  url: http://www.polleres.net/
Received on Friday, 13 February 2009 09:47:30 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:07:53 UTC