I’m trying to figure out how to capture the semantics of RDFS ontologies in Grakn, including subclass/subproperty hierarchies and domain/range restrictions on properties/roles. While subclass/subproperty axioms seem quite straightforward to translate via “sub” statements, I find domain/range restrictions a little more problematic. For instance, in RDFS I can assert that the range of hasParent property is a Person. Then, when I assert
“X hasParent Y”,
I can infer that Y is a Person because of that range restriction. I’m trying to model the same using “person plays-role parent” statement but I can’t see that inference working. What is the exact meaning of “plays-role” construct then? Does it allow for expressing range restrictions on roles?