Is there a setting's page to enable the unique name assumption when performing rule-based reasoning with SWRL and an OWL file ?
Because our reasoning uses the Open World Assumption by design, there is not a way to enabled the Unique Name Assumption when using SWRL/OWL reasoning (as opposed to ICV). You can, however, use
hmm I don't think it is possible to use owl:differentFrom in SWRL...
A rule like this is not valid in SWRLTab for example:
sosa:Observation(?a) ^ sosa:Observation(?x) ^ owl:differentFrom(?x,?a)
even though the owl prefix is correctly registered...
owl:differentFrom(?x,?a) in the rule wouldn't help anyways as this has also to be explicitly reflected in the data, i.e. you have to make the individuals pairwise distinct in the data.
I doubt you can create an axiom through a rule. You can simply create the axiom and they will interact as expected with any rules you write. I don’t think that owl:differentFrom is really equivalent to UNA but might emulate it in a very limited way. My best guess for getting what you’re looking for would be writing a rule with SPARQL. I’m not positive you could make it work but only a vague intuition that it might so you’d have to experiment to see or wait until someone smarter than me gives you a better answer.
Yes indeed, I've made the individuals pairwise distinct and used swlb:differentFrom and my rule evaluates correctly.
I've also tried to make a certain data property functional, which also infer the individuals to be unique.
In protégé, this trick works, but not within Stardog... Even when setting the sameAs reasoning to "FULL"
How does a functional data property make individuals unique?
:p a owl:FunctionalProperty . :s1 :p 1 . :s1 :p 2 .
would just lead to inconsistency.
I just used the information inside this post.
It states that
keys cannot be used to make individuals different, for that I must use a functional property.
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.