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

DC vs oboInOwl annotation properties? #1202

Open
turbomam opened this issue Aug 10, 2021 · 2 comments
Open

DC vs oboInOwl annotation properties? #1202

turbomam opened this issue Aug 10, 2021 · 2 comments
Assignees

Comments

@turbomam
Copy link
Contributor

@pbuttigieg recently suggested switching to Dublin Core annotation properties, as opposed to of oboInOwl.

The NMDC team has been using oboInOwl in our templates, like NMDC-03_EnvO_template_robot_sheet

  • oboInOwl:created_by
  • oboInOwl:creation_date^^xsd:dateTime
  • oboInOwl:hasBroadSynonym@en
  • oboInOwl:hasDbXref
  • oboInOwl:hasExactSynonym@en
  • oboInOwl:hasNarrowSynonym@en
  • oboInOwl:hasRelatedSynonym@en
  • oboInOwl:inSubset

That's based on @kaiiam's nice EnvO/robot documentation

I have checked for predicate usage in EnvO via http://sparql.hegroup.org/sparql/

Remember there are two different Dublin Core prefixes.

     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:terms="http://purl.org/dc/terms/"

SELECT  ?p (COUNT(?s) AS ?count)
WHERE
  { GRAPH <http://purl.obolibrary.org/obo/merged/ENVO>
      { ?s  ?p  ?o }
  }
GROUP BY ?p

DC and oboInOwl usage

?p ?count
http://purl.org/dc/elements/1.1/contributor 186
http://purl.org/dc/elements/1.1/creator 451
http://purl.org/dc/elements/1.1/date 352
http://purl.org/dc/elements/1.1/description 1
http://purl.org/dc/elements/1.1/source 3
http://purl.org/dc/elements/1.1/title 1
http://purl.org/dc/terms/creator 3
http://purl.org/dc/terms/date 1
http://purl.org/dc/terms/license 2
http://purl.org/dc/terms/rightsHolder 1
http://www.geneontology.org/formats/oboInOwl#consider 101
http://www.geneontology.org/formats/oboInOwl#created_by 810
http://www.geneontology.org/formats/oboInOwl#creation_date 591
http://www.geneontology.org/formats/oboInOwl#default-namespace 1
http://www.geneontology.org/formats/oboInOwl#hasAlternativeId 86
http://www.geneontology.org/formats/oboInOwl#hasBroadSynonym 468
http://www.geneontology.org/formats/oboInOwl#hasDbXref 7676
http://www.geneontology.org/formats/oboInOwl#hasExactSynonym 3131
http://www.geneontology.org/formats/oboInOwl#hasNarrowSynonym 465
http://www.geneontology.org/formats/oboInOwl#hasOBONamespace 1130
http://www.geneontology.org/formats/oboInOwl#hasRelatedSynonym 1999
http://www.geneontology.org/formats/oboInOwl#hasSynonym 36
http://www.geneontology.org/formats/oboInOwl#hasSynonymType 106
http://www.geneontology.org/formats/oboInOwl#id 1115
http://www.geneontology.org/formats/oboInOwl#inSubset 1253
http://www.geneontology.org/formats/oboInOwl#is_class_level 1
http://www.geneontology.org/formats/oboInOwl#is_inferred 4
http://www.geneontology.org/formats/oboInOwl#is_metadata_tag 1
http://www.geneontology.org/formats/oboInOwl#shorthand 2
http://www.geneontology.org/formats/oboInOwl#source 1

Searching for owl:onPropertys associated with owl:Restrictions doesn't show any DC or oboInOwl usage that might need remediation.

There is also heterogeneity in the objects of the various APs for mentioning creators and contributors:

SELECT  ?o (COUNT(?s) AS ?count)
WHERE
  { GRAPH <http://purl.obolibrary.org/obo/merged/ENVO>
      { ?s  <http://purl.org/dc/elements/1.1/contributor>  ?o }
  }
GROUP BY ?o
  • dc:contributor all IRIs, except for nine "https://orcid.org/0000-0002-7556-2097" strings
  • dc:creator? mixture of ORCID IRIs, ORCID strings and some non-ORCID strings. Some http and some https
  • terms:creator? All names or initials
  • http://www.geneontology.org/formats/oboInOwl#created_by most heterogeneous!
@cmungall
Copy link
Member

cmungall commented Aug 10, 2021

Thanks for this analysis

The very first thing that should be done is replace elements with terms. This should not be controversial. See OBOFoundry/OBOFoundry.github.io#540

I am not sure that the question should be "dc vs oio". There are no synonyms in dc for example.

I would strongly advocate for ENVO continuing to use

oboInOwl:hasBroadSynonym@en
oboInOwl:hasExactSynonym@en
oboInOwl:hasNarrowSynonym@en
oboInOwl:hasRelatedSynonym@en

for synonyms (there is no equivalent for this in dc. there is also no direct equivalent in skos, as skos predicates map between concept URIs, and should not be used for literals)

I would also recommend keeping on using

oboInOwl:inSubset

for subsets

and

oboInOwl:hasDbXref

on axiom annotations for provenenance

This will all be made clearer with the next OMO release

I think your analysis is showing a lot of terms from other ontologies. I am not sure it's the best use of your time to redo on envo-base as this will all be folded into OMO-based validation tools soon.

@turbomam
Copy link
Contributor Author

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

3 participants