|
I find that OWL 2 RL/RDF rules can only reason over hasKey (using prp-key) when there are multiple keys defined for a class (in a list). Then it seems to me they cannot handle the case when there is only one key. For example, according to my understanding they can not deduce from the premises the conclusion given below: premises:
conclusion:
Did I miss any details on OWL 2 RL/RDF rules or they indeed deliberately skipped this type of reasoning? |
|
The rule indicates the following:
The case you describe in your question is for n = 1, that is:
So the conclusion indeed holds. Thank you Antoine for your answer. Does that imply hasKey has a range of rdf:List? I came to this doubt because I did not see anywhere (maybe because of my bad searching skill) defined that hasKey had a range as rdf:List, so I supposed that for cases with only a single key (as the example I given above) it was more straight-forward to write it directly as the value of hasKey rather than using a list containing only single element, which is not supported by prp-key. @weitai, yup, it has to be a list. You can create a list with a single member in your case. |


Yup, as Antoine says, the conclusion you expect holds. How did you come to the conclusion that OWL 2 RL/RDF doesn't allow this?
Thanks Signified, please see the comment to Antoine's answer.