-
Notifications
You must be signed in to change notification settings - Fork 4
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
Kinds as rdfs:subClassOf #196
Comments
Sorry it as taken me a while to take a look at this. I agree that this is something we should be looking to address / accommodate. When Magma Core was originally created we took the decision to minimise reliance on external specifications to interpret/enforce
I suggest that we discuss these. The changes you proposed look sound to me other than this. |
Instances of
kind_of_X
are new entity types, so as well as beingrdf:type kind_of_X
they should also berdfs:subClassOf X
.E.g. for an instance of
kind_of_organization
the triples should be:The
ClassServices.createKindOfX()
methods should add therdfs:subClassOf X
predicate.Also, any entity that is a
member_of_kind
of, for example,ex:1
above, should also berdf:type ex:1
†E.g.:
This allows standard RDFS entailments to infer that:
ex:1
is anrdfs:class
ex:1
is of typehqdm:kind_of_organization
and all its supertypes.ex:2
is of typeorganization
and all of its supertypes.ex:2
will implement theOrganization
interface and all of its super interfaces soinstanceof Organization
will betrue
and it can be cast to that type rather than simply being aThing
.† I'm not sure how we enforce this, so some additional changes might need to be included to enforce this constraint, if it is even possible to do that.
The text was updated successfully, but these errors were encountered: