-
Notifications
You must be signed in to change notification settings - Fork 74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Should validate-profile
recognize owl:onProperties
?
#1176
Comments
Wow, indeed! This is very interesting - ROBOT ownly wraps OWL API, so it will have to be raised there.. But just searching through the OWL API https://github.com/owlcs/owlapi repo shows no mention of owl:onProperties - and I have to be honest, despite working extensively with OWL over the last 10 years, I didnt even know of its existence. @matthewhorridge @ignazio1977 maybe you have some insight? |
Rings a bell, need to Google a bit. |
So, the thing I had in mind was datatype n-arity - the OWL specs say that owl:onProperties is to be used to map restrictions with multiple properties, and those are defined as restrictions where the number of properties matches the n-arity of the datatype. But, there's no defined datatype with n-arity more than 1 (to my knowledge - it's been a few years since last time I looked it up). Integers certainly are not. The error reported is because of a parsing failure, not because of an actual recognised violation. I'm not sure if owl:onProperties would be accepted, but it won't work with integers, I believe. So, as is, I think the owlapi is failing, but that input shouldn't pass anyway. |
Thank you @ignazio1977 , I'd only guessed at what datatype to use from syntactic form. Would something like a latitude-longitude coordinate pair work? |
Ah, perhaps it's not possible to demonstrate
Source: https://www.w3.org/TR/2012/REC-owl2-rdf-based-semantics-20121211/#Vocabulary_Terms
Source: https://www.w3.org/TR/2012/REC-owl2-syntax-20121211/#Data_Ranges Emphasis added. |
Actually, the rest of Section 7, "Data Ranges" looks less gloomy for this property than I thought. Please pardon my last comment. |
I have been doing some testing of general OWL syntax, and came across a curiosity as I was enumerating usages of OWL "Sequences" from the document OWL 2 Web Ontology Language Mapping to RDF Graphs (Second Edition).
The predicate
owl:onProperties
occurs four times in that file. It maps the OWL constructDataAllValuesFrom
andDataSomeValuesFrom
from a single propertty to multiple properties in oneowl:Restriction
.I tried writing an exemplar class to verify I was understanding the syntax, but I get an error from
validate-profile
, though things look consistent with the tables in that W3C document. From a quickgrep
over the ROBOT source, I don't see occurrences ofonProperties
, but I also couldn't catchonProperty
by eye because[a|A]nnotationProperty
happens to cover it too. Is this just a missed OWL property?For issue reproduction, my input graph is:
My test command with ROBOT version 1.9.5 is:
An example of my test output is:
I am fine with this test input being added to unit tests, and I do not require crediting. All the same, acknowledgement would be appreciated.
The text was updated successfully, but these errors were encountered: