Reputation: 337
Say I have:
I want to define TrueProperty that is equal to:
Property2 otherwise
Can I do that? Can I do that in OWL?
Thank you
Upvotes: 0
Views: 102
Reputation: 5515
You cannot do that in OWL. OWL is not meant to talk about what's written, it talks about true things of the world. Facts that are not present explicitly in your data set MAY be true. If you send me a CV where you do not mention your street address, can I conclude that you are homeless?
However, there are several ways to do what you want to do, without OWL. A SPARQL CONSTRUCT query with a FILTER, qking a reasoner if you can infer some value for Property1, and if not, adding Property2 programmatically. For instance:
CONSTRUCT { ?s <TruProperty> ?o }
WHERE {
{ ?s <Property1> ?o }
UNION
{ ?s <Property2> ?o
FILTER NOT EXISTS { ?s <Property1> ?o }
}
}
Upvotes: 4