RE: ISSUE-104: The non-disallowed vocabulary in OWL 1 DL

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