- From: Axel Polleres <axel.polleres@deri.org>
- Date: Fri, 13 Feb 2009 09:46:41 +0000
- 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) +1 > - 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, Galway email: axel.polleres@deri.org url: http://www.polleres.net/
Received on Friday, 13 February 2009 09:47:30 UTC