-
Notifications
You must be signed in to change notification settings - Fork 75
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
Problems parsing class expressions with object properties in robot templates #442
Comments
when I try to run it on an example csv file I get the error:
my csv file is the following:
|
Even more minimal example: foo_template.csv:
foo_rel.owl:
|
AH I SEE, it literally uses the same syntax as Protege, in that the rdfs:label is used (quoted with a space). I wasn't aware that "Protege Manchester Syntax" was a thing as such |
Explicitly stating that rdfs:labels can be used, fixes #442
Now I see that there aren't any examples of the interesting Manchester cases in our docs. I'll add an issue for that. |
I think my issue is related, but if not, I'm happy to open a new one. I have a template that uses a pattern with two nested SOME statements. Even though the exact same statements exist in our current version of PPO and the same statements work fine when using DOSDP patterns, I get a syntax error from ROBOT when trying to parse the template:
The text version of the above axiom is: I ran into the same error in another file when I tried to use
AKA (plant structure presence and (is quality of some (whole plant and (has visible part some plant structure))) After attempting many permutations, the problem seems to be when using a clause of the form
The parser does not properly understand the |
The problem is usually that your |
Thanks, @jamesaoverton. I tried supplying an input file (I read the robot help page so many times), but could not get it to work. Can you point me at an example? |
@ramonawalls I emailed you just now! If you send me the template I will update the docs / fix the issue in ROBOT! |
@kaiiam and I are trying to use a template where one of the columns is an expression "RO:nnnnn SOME %". This is failing to parse, as it does not expect SOME. [@kaiiam will update this ticket with specific error messages].
I see from the docs that the default assumption is for a name
If the template string starts with a C and a space then it will be interpreted as a class expression. The value of the current cell will be substituted into the template, replacing all occurrences of the percent % character. Then the result will be parsed into an OWL class expression. ROBOT uses the same syntax for class expressions as Protégé: Manchester Syntax. If it does not recognize a name, ROBOT will assume that you’re trying to refer to a class by its IRI (or compact IRI). This can lead to unexpected behaviour, but it allows you to refer to classes (by IRI) without loading them into the input ontology.
How do we get this parsed as an OP? We tried including
-i ro_import.owl
but it still seems to assume the RO ID is a class.Will provide a reproducible example shortly
The text was updated successfully, but these errors were encountered: