[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