Skip to content
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

Prevent injection of inappropriate annotation property declarations #78

Open
cmungall opened this issue Nov 3, 2021 · 1 comment
Open

Comments

@cmungall
Copy link
Contributor

cmungall commented Nov 3, 2021

not sure if this belongs on obo tracker, as a robot validation check, here, somewhere else

many ontologies declare rdf:type to be an AnnotationProperty:

SELECT ?p ?y ?g WHERE {GRAPH ?g {<http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?p ?y}}
rdf:type,owl:AnnotationProperty,obomerged:OSCI
rdf:type,owl:AnnotationProperty,obomerged:CLO
rdf:type,owl:AnnotationProperty,obomerged:ICDC
rdf:type,owl:AnnotationProperty,obomerged:CIDO
rdf:type,owl:AnnotationProperty,obomerged:SWO
rdf:type,owl:AnnotationProperty,obomerged:OPMI
rdf:type,owl:AnnotationProperty,obomerged:OLAM
rdf:type,owl:AnnotationProperty,obomerged:HTN
rdf:type,owl:AnnotationProperty,obomerged:PSDO
rdf:type,owl:AnnotationProperty,obomerged:OHMI
rdf:type,owl:AnnotationProperty,obomerged:LABO
rdf:type,owl:AnnotationProperty,obomerged:OAE
rdf:type,owl:AnnotationProperty,obomerged:FBBT
rdf:type,owl:AnnotationProperty,obomerged:STATO
rdf:type,owl:AnnotationProperty,obomerged:OBIB
rdf:type,owl:AnnotationProperty,obomerged:ORNASEQ
rdf:type,owl:AnnotationProperty,http://purl.unep.org/sdg/merged/SDGIO
rdf:type,owl:AnnotationProperty,obomerged:OHPI
rdf:type,owl:AnnotationProperty,obomerged:LTHIDO
rdf:type,owl:AnnotationProperty,obomerged:TSO
rdf:type,owl:AnnotationProperty,obomerged:CTO
rdf:type,owl:AnnotationProperty,obomerged:ONS
rdf:type,owl:AnnotationProperty,obomerged:KTAO
rdf:type,owl:AnnotationProperty,obomerged:VIO
rdf:type,owl:AnnotationProperty,obomerged:ICEO
rdf:type,owl:AnnotationProperty,obomerged:VIO-ImmPort

This is likely propagated from a single source

I can't point you to a specific W3C spec that says this is incorrect, it's not really punning since rdf:type is not a property. But this could have unanticipated effects and is objectively confusing and I assume unintended.

This is partly related to OBOFoundry/OBOFoundry.github.io#1443, although here we are not injecting into an OBO, in fact we are not even injecting into a vocabulary since rdf:type doesn't exist as an entity at the OWL level.

It seems OMO is a good place to have a rigorous enforced data model for annotation properties that is restrictive enough to forbid this kind of thing.

@matentzn
Copy link
Contributor

matentzn commented Nov 4, 2021

Note that we recently added a robot check to cover that particular issue https://github.com/ontodev/robot/pull/867/files

But this does not change the general need for a better general checks.

In ontologies like CL and Mondo, we now employ a strategy for limiting the number of legal annotations using sparql - but these are tailored specifically to these ontologies.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants