robot icon indicating copy to clipboard operation
robot copied to clipboard

Robot template: Multiple classes as the domain of an object property

Open allysonlister opened this issue 3 years ago • 2 comments

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!

allysonlister avatar Aug 31 '22 22:08 allysonlister

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.

beckyjackson avatar Sep 30 '22 14:09 beckyjackson

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.

allysonlister avatar Oct 04 '22 10:10 allysonlister