ExposuresProvider / cam-pipeline

Data loading pipeline for CAM database
https://exposuresprovider.github.io/cam-pipeline/
MIT License
2 stars 4 forks source link

Remove unnecessary slot mappings for #86

Open gaurav opened 1 year ago

gaurav commented 1 year ago

As demonstrated by this Yasgui query, the triplestore contains triples in the form:

<http://purl.obolibrary.org/obo/RO_0002313> <http://cam.renci.org/biolink_slot> <https://w3id.org/biolink/vocab/affects>
<http://purl.obolibrary.org/obo/RO_0002313> <http://cam.renci.org/biolink_slot> <https://w3id.org/biolink/vocab/affects_transport_of>
<http://purl.obolibrary.org/obo/RO_0002313> <http://cam.renci.org/biolink_slot> <https://w3id.org/biolink/vocab/related_to>

This makes mapping RO relations to Biolink predicates particularly complicated. Instead, I think we should only have biolink_slot annotations that are exact matches (in this case, to https://w3id.org/biolink/vocab/affects_transport_of) and let us use the Biolink and RO hierarchies to imply the other relations.

balhoff commented 1 year ago

We did that originally, then added this property to store the result of using the Biolink and RO hierarchies—it is a query performance optimization. Property paths in SPARQL queries are expensive. So I suggest using this property when you want to access the hierarchy closure, and use an exact match property to get exact matches. Is there something lacking in the existing skos:exactMatch links? Keep in mind we also include skos:narrowMatch in mappings as well.