1

I'm trying to obtain to model a property that is transitive, asymmetric and irreflexive. I understand that OWL reasoning does not support for this complex relationship.

However, is there a way to "trick" the reasoner? I want to use this for validation purposes, so I'm also trying SWRL rules (1), but the rule does not work (which makes sense, is the same reasoner).

(1) isBaseFor(?y1, ?y2) ^ isBaseFor(?y2, ?y3) -> isBaseFor(?y2, ?y3)

I'm thinking of using SQWRL, however this is a validation similar to SHACL or SPARQL (meaning that I have to run the validaton query separatly, which I'm trying to avoid).

Any ideas?

1 Answers1

2

The "trick" is to create isBaseFor as irreflexive and asymmetric (without transitive characteristic) and add a SWRL Rule for the transitive characteristic. Here is the Manchester syntax:

ObjectProperty: isBaseFor
    Characteristics: 
    Irreflexive,
    Asymmetric
       
Individual: y1
    Facts:  
     isBaseFor  y2
    
Individual: y2
    Facts:  
     isBaseFor  y3
   
Individual: y3

    
DifferentIndividuals: 
    y1,y2,y3

Rule: 
    isBaseFor(?y1, ?y2), isBaseFor(?y2, ?y3) - isBaseFor(?y1, ?y3)

This will correctly give inconsistencies for:

  • isBaseFor(y1, y2) and isBaseFor(y2, y1) because of asymmetric characteristic.
  • isBaseFor(y3, y3) because of irreflexive characteristic.

It will correctly infer transitive relation based on SWRL rule given assertions isBaseFor(y1, y2) and isBaseFor(y2, y3).

transitive relation inferred

Henriette Harmse
  • 4,167
  • 1
  • 13
  • 22