Re: OWL Syntax

Jeremy:
> > Ontology(
> >   EquivalentClasses(
> >      restriction( dp1 cardinality(1) )
> >      restriction( dp2 allValuesFrom( xsd:byte ) )
> >      restriction( dp3 cardinality(1) )
> >   )
> > )
> > 
> > 
> > and we get the following triples
> > 
> > %  restriction( dp1 cardinality(1) )
> > _:a rdf:type owl:Restriction .
> > _:a owl:onProperty <dp1> .
> > _:a owl:cardinality "1"^^xsd:nonNegativeInteger .
> > 
> > % dp1
> > <dp1> rdf:type owl:DatatypeProperty .
> > 
> > % restriction( dp2 cardinality(1) allValuesFrom( xsd:byte ) )
> > _:b rdf:type owl:Restriction .
> > _:b owl:onProperty <dp2> .
> > _:b owl:allValuesFrom xsd:byte .
> > 
> > 
> > % dp2
> > <dp2> rdf:type owl:DatatypeProperty .
> > 
> > %  restriction( dp3 cardinality(1) )
> > _:c rdf:type owl:Restriction .
> > _:c owl:onProperty <dp3> .
> > _:c owl:cardinality "1"^^xsd:nonNegativeInteger .
> > 
> > % dp3
> > <dp3> rdf:type owl:DatatypeProperty .
> > 
> > % EquivalentClasses
> > _:a owl:sameClassAs _:b .
> > _:a owl:sameClassAs _:c .
> > _:b owl:sameClassAs _:c .
> > 
> > The difficulty here is that the bnode _:c is the object of two triples, 
one of 
> > the very few places where this is permitted in the mapping rules of AS&S; 
but 
> > it is only permitted when the owl:sameClassAs triples form a pattern that 
can 
> > be generated by this mapping rule (e.g. deleting one but not two of these 
> > triples moves the graph into OWL Full).
> 

Peter:
> I don't believe that this is the case.  
> 
>  Ontology(
>    EquivalentClasses(
>       restriction( dp1 cardinality(1) )
>       restriction( dp3 cardinality(1) )
>    )
>    EquivalentClasses(
>       restriction( dp1 cardinality(1) )
>       restriction( dp2 allValuesFrom( xsd:byte ) )
>    )
>  )
> 
> will generate a version with one owl:sameClassAs triple removed.
> 

I think you will find that the second instance of 
   restriction( dp1 cardinality(1) )
will generate a different bnode to the first.
Thus this does not map onto the required graph.
In particular the owl:equivalentClass triples are

 _:a owl:equivalentClass _:b .
 _:c owl:equivalentClass _:d .

(over four distinct bnodes, rather than three distinct
bnodes in the original).

Jeremy

Received on Tuesday, 25 February 2003 15:59:26 UTC