- From: Ivan Herman <ivan@w3.org>
- Date: Mon, 09 Jun 2008 11:34:03 +0200
- To: Boris Motik <boris.motik@comlab.ox.ac.uk>
- CC: public-owl-wg@w3.org
- Message-ID: <484CF90B.5020900@w3.org>
Boris Motik wrote: > 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? > Yes, that is a possibility. I would also send a mail to the SWIG list. Ivan > 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 > -- 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:34:22 UTC