Finding paths between two classes in OWL-DL

102 views Asked by At

In DL (and OWL-DL): Given a TBox, two concepts C1 and C2, in my problem, we say that a path exists between C1 and C2 if and only if:

C1 ⊑ =1 r.C2     where r is a single/composite role (role chain)

i.e. if r is a single role then we must have each instance of C1 related to exactly one instance of C2 through r; otherwise (r is composite) then each instance of C1 is related to exactly one instance of C2 through a composition of roles i.e. (r1*r2*r3...) if we consider * stands for role composition.

My question is: Is the Graph sense the best way to accomplish this task using OWL API, where graph nodes stand for concepts and edges stand for object properties. Then we start from C1 node and perform a breadth-first search until we reach C2. This is my idea! Is there any better way to perform this?

This problem is generally about fining paths which have specific characteristics between two ontology concepts. For the ease of understaning, you can eliminate the exactly one restriction. Thus

C1 ⊑ ∃ r.C2

0

There are 0 answers