- From: Boris Motik <boris.motik@comlab.ox.ac.uk>
- Date: Mon, 9 Jun 2008 10:00:10 +0100
- To: "'Ivan Herman'" <ivan@w3.org>
- Cc: <public-owl-wg@w3.org>
Hello, I can see your point, Ivan. So what would be the process for doing this? Should we just send an e-mail to owl-dev? Boris > -----Original Message----- > From: public-owl-wg-request@w3.org [mailto:public-owl-wg-request@w3.org] On Behalf Of Ivan Herman > Sent: 09 June 2008 09:38 > To: Boris Motik > Cc: public-owl-wg@w3.org > Subject: Re: ISSUE-104: The non-disallowed vocabulary in OWL 1 DL > > Hi Boris, > > while I essentially agree with you, and I have personally never seen an > OWL 1 DL Ontology making use of these features, it might be good to > look/ask around whether we would create a backward compatibility > problem. I actually do not believe we do, but due diligence would > require to look around/ask/inquire... > > Ivan > > Boris Motik wrote: > > Hello, > > > > Thanks Michael for this list. > > > > The very fact that this list seems, as you say it, buggy and complicated in OWL 1 DL seems to show > us that we should simplify > > matters in OWL 2 DL. I don't see any particular value in allowing, for example, OWL DL statements > of the form > > > > :w rdf:type rdf:Statement . > > > > The idea of the built-in vocabulary in general is that it has a built-in semantics and is therefore > akin to logical operators, and > > not elements from the signature. In first-order logic, the usage of operators as part of a language > does not make much sense. Since > > OWL 2 DL is a first-order fragment of OWL 2 Full, it makes therefore sense to prohibit the usage of > the built-in vocabulary > > everywhere. > > > > It might be that the actual implementation of this issue in OWL 1 DL was different; however, this > has clearly been the intent. > > Therefore, even if changing such details in OWL 2 DL might introduce some form of backwards > incompatibility, I would rather declare > > this to be a bug in OWL 1 DL and fix it in OWL 2 DL, than to put up with all the unnecessary > complexity. > > > > > > In general, I strongly support putting all of built-in vocabulary "off limits" in OWL 2, without > any exceptions. I believe that this > > leads to simplicity and clarity: the built-in vocabulary is something that is used to enable the > inner workings of the logic, and > > therefore should not be tampered with. My ISWC 2005 paper shows that it is quite easy to get these > things wrong and get an > > undecidable language. In future revisions of OWL, we might extend the built-in vocabulary, and we > want to make sure that this does > > not introduce problems. Therefore, the simplest way is to declare all of the vocabulary to be off > limits. > > > > Regards, > > > > Boris > > > >> -----Original Message----- > >> From: public-owl-wg-request@w3.org [mailto:public-owl-wg-request@w3.org] On Behalf Of Michael > >> Schneider > >> Sent: 07 June 2008 15:51 > >> To: public-owl-wg@w3.org > >> Cc: Boris Motik > >> Subject: ISSUE-104: The non-disallowed vocabulary in OWL 1 DL > >> > >> Dear all! > >> > >> With this mail, I am trying to bring our discussion on ISSUE-104 (disallowed > >> vocabulary) a step forward. > >> > >> I wrote on 2008-06-03 > >> in <http://lists.w3.org/Archives/Public/public-owl-wg/2008Jun/0023.html>: > >> > >>>> (A) Backwards Compatibility: > >>>> The set of disallowed vocabulary covers URIs, > >>>> which were allowed to be used in OWL 1 DL. > >>>> Hence, we have a backwards-compatibility issue. > >> Boris Motik answered on Wednesday, June 04 > >> in <http://lists.w3.org/Archives/Public/public-owl-wg/2008Jun/0028.html>: > >> > >>> I accept that (A) might be an issue. Before we decide on the way > >>> forward, however, I would appreciate it is you could provide us > >>> with a list of vocabulary that actually causes problems. > >> And this is what I am doing hereby (even without having an official ACTION > >> :-)). > >> > >> But before I come up with the list, I first want to state what my > >> understanding of the situation is. > >> > >> The disallowed vocabulary in OWL 1 DL is specified as an explicit list of > >> URIs in > >> > >> <http://www.w3.org/TR/owl-semantics/mapping.html#4.2> > >> > >> All the URIs in this section's first "Definition" are completely disallowed > >> to be used in a custom way. So they may only occur as syntax elements. For > >> example, it is disallowed in OWL 1 DL to state > >> > >> rdf:type rdf:type rdf:type > >> > >> since the URI 'rdf:type' does not only occur as a syntax element (middle > >> position), but also as an individual (LHS) and as a class (RHS). > >> > >> There is a second "Definition" which itemizes a set of URIs which may at > >> least be applied as classes or properties, respectively. So these URIs are > >> only /restricted/ in their use within OWL DL ontologies, not completely > >> disallowed. According to this, it is actually allowed to have, for example, > >> the following statements in an OWL 1 DL ontology in RDF graph form: > >> > >> :w rdf:type rdf:Statement . > >> :u rdf:_42 "Hello World!"^^xsd:string . > >> > >> AFAIU, every URI, which is not listed in this section, is actually allowed > >> to be used in a completely unrestricted way. > >> > >> Below is a list of all existing URIs within the RDF, RDFS and OWL 1 > >> namespace. > >> > >> According to the list, I may use the property 'rdf:value' in every way, > >> which looks strange. Even more strange: Use of 'rdfs:Literal', 'owl:Thing' > >> and 'owl:Nothing' is completely unrestricted, while use of 'rdfs:Datatype' > >> and 'rdfs:Resource' is completely disallowed. Even 'owl:imports' may be used > >> in an arbitrary way. > >> > >> I wonder whether this list has been properly reviewed by the old OWL WG. It > >> seems pretty buggy to me. One can see that allowing the use of the > >> reification vocabulary and parts of the container vocabulary was deliberate, > >> since it is explicitly mentioned. But for many of the non-mentioned URIs it > >> is at least unclear to me, why it should be allowed to use it in an > >> unrestricted way. > >> > >> I think, one of the participants of the old OWL-WG should comment on this, > >> so that we are able to proceed. > >> > >> Cheers, > >> Michael > >> > >> == List of RDF(S) and OWL 1 vocabulary (ordered lexicographically) == > >> > >> Here is what the annotations mean: > >> > >> * "[ ]" custom use is disallowed (i.e. listed in first "Definition") > >> * "[c]" may be used as a class (according to second "Definition") > >> * "[p]" may be used as a property (according to second "Definition") > >> * "[*]" unrestricted use allowed (URI not listed in section 4.2) > >> > >> === RDF vocabulary === > >> > >> * [p] rdf:_n // for n >= 1 > >> * [c] rdf:Alt > >> * [c] rdf:Bag > >> * [ ] rdf:first > >> * [ ] rdf:List > >> * [ ] rdf:nil > >> * [p] rdf:object > >> * [p] rdf:predicate > >> * [ ] rdf:Property > >> * [ ] rdf:rest > >> * [c] rdf:Seq > >> * [c] rdf:Statement > >> * [p] rdf:subject > >> * [ ] rdf:type > >> * [*] rdf:value > >> * [*] rdf:XMLLiteral > >> > >> === RDFS vocabulary === > >> > >> * [ ] rdfs:Class > >> * [*] rdfs:comment > >> * [ ] rdfs:Container > >> * [ ] rdfs:ContainerMembershipProperty > >> * [ ] rdfs:Datatype > >> * [ ] rdfs:domain > >> * [*] rdfs:isDefinedBy > >> * [*] rdfs:label > >> * [*] rdfs:Literal > >> * [ ] rdfs:member > >> * [ ] rdfs:range > >> * [ ] rdfs:Resource > >> * [*] rdfs:seeAlso > >> * [ ] rdfs:subClassOf > >> * [ ] rdfs:subPropertyOf > >> > >> === OWL vocabulary === > >> > >> * [ ] owl:AllDifferent > >> * [ ] owl:allValuesFrom > >> * [ ] owl:AnnotationProperty > >> * [*] owl:backwardCompatibleWith > >> * [ ] owl:cardinality > >> * [ ] owl:Class > >> * [ ] owl:complementOf > >> * [ ] owl:DataRange > >> * [ ] owl:DatatypeProperty > >> * [ ] owl:DeprecatedClass > >> * [ ] owl:DeprecatedProperty > >> * [ ] owl:differentFrom > >> * [ ] owl:disjointWith > >> * [ ] owl:distinctMembers > >> * [ ] owl:equivalentClass > >> * [ ] owl:equivalentProperty > >> * [ ] owl:FunctionalProperty > >> * [ ] owl:hasValue > >> * [*] owl:imports > >> * [*] owl:incompatibleWith > >> * [ ] owl:intersectionOf > >> * [ ] owl:InverseFunctionalProperty > >> * [ ] owl:inverseOf > >> * [ ] owl:maxCardinality > >> * [ ] owl:minCardinality > >> * [*] owl:Nothing > >> * [ ] owl:ObjectProperty > >> * [ ] owl:oneOf > >> * [ ] owl:onProperty > >> * [ ] owl:Ontology > >> * [ ] owl:OntologyProperty > >> * [*] owl:priorVersion > >> * [ ] owl:Restriction > >> * [ ] owl:sameAs > >> * [ ] owl:someValuesFrom > >> * [ ] owl:SymmetricProperty > >> * [*] owl:Thing > >> * [ ] owl:TransitiveProperty > >> * [ ] owl:unionOf > >> * [*] owl:versionInfo > >> > > > > > > > > -- > > Ivan Herman, W3C Semantic Web Activity Lead > Home: http://www.w3.org/People/Ivan/ > PGP Key: http://www.ivan-herman.net/pgpkey.html > FOAF: http://www.ivan-herman.net/foaf.rdf
Received on Monday, 9 June 2008 09:01:42 UTC