robot
robot copied to clipboard
Robot template: Multiple classes as the domain of an object property
I'm using template to create an OWL file from a spreadsheet. Here's a snipped of what I have for an object property
(apologies for the markdown formatting here)
| ID | Label | Type | DOMAIN | RANGE |
|---|---|---|---|---|
| ID | AL rdfs:label@en | TYPE | DOMAIN | RANGE |
| obo:MY_IRI_001 | my_label | owl:ObjectProperty | obo:MY_IRI_002 | obo:MY_IRI_004 |
What I would like to do is to say that the domain is obo:MY_IRI_002 or obo:MY_IRI_003. However, putting various versions of manchester owl syntax in there just results in various syntax errors - so my skills are clearly not up to scratch. The Robot documentation says:
DOMAIN: The domain to a property is a class expression in Manchester Syntax (for object and data properties). For annotation properties, the domain must be a single class specified by label, CURIE, or IRI.
as it says a class expression is required, and this is NOT an annotation property, I expect I can say that obo:MY_IRI_002 or obo:MY_IRI_003 is my domain. What syntax should I use? I presume I'm just being a bit slow...
Thank you!
Hi @allysonlister - could you try surrounding the Manchester with parentheses and let me know if this works?
(obo:MY_IRI_002 or obo:MY_IRI_003)
I'll do a little more digging on my side because it would make sense to allow it without the parentheses.
Hi @beckyjackson,
I've tried it with the parentheses and it is working perfectly, thank you! Yes, might be nice to have it work without the parentheses, but it does work, so thank you for pointing out the correct syntax.