[Pellet-users] using transitive propeties
Bijan Parsia
bijan at clarkparsia.com
Mon Jul 2 19:15:31 UTC 2007
On Mon, July 2, 2007 2:11 pm, Taylor Cowan <taylor_cowan at yahoo.com> said:
> I'm attempting to demonstrate the benefit of OWL transitive properties, and while
> I understand transitive closure, I haven't figured out how that's realized within
> Pellet.
Declare that the property in question is an owl:TransitiveProperty. Note that this is *not* transitive closure (which is not first order) but just a first order transitivity axiom.
> Intuitively I had assumed pellet would infer the relations and assert
> that A->C since A->B and B->C.
If you mean that you thought that you'd get an ABox with all the direct relations asserted, that's, in general, not how pellet works. Classification is a special case. However, transitivity is respected.
> Could somebody point me to a SPARQL example or pellet use case that exploits a
> transitive property in an OWL ontology?
Consider this data:
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix : <#> .
:p a owl:TransitiveProperty.
:s :p :o1.
:o1 :p :o2.
And this query
prefix : <#>
SELECT ?x WHERE {?x :p :o2}
In the pellet demo (for example) you get:
?x
:o1
:s
If you comment out or delete the transitivity axiom you get only :o1.
It can also affect the class heirarchy.
Cheers,
Bijan.
More information about the Pellet-users
mailing list