geneontology / go-shapes

Schema for Gene Ontology Causal Activity Models defined using RDF Shapes
2 stars 0 forks source link

Specify constraints for using specific combinations of GO terms and relations #166

Closed vanaukenk closed 3 years ago

vanaukenk commented 4 years ago

Following on from discussions about what relations to allow in GO-CAMs and ShEx:

We need to specify the domain and range constraints for use of specific relations with specific GO terms, e.g. cell morphogenesis 'results in morphogenesis of' motor neuron.

This ticket will be used to draft this list for further discussion on the GO-CAM specifications call.

vanaukenk commented 4 years ago

Possible representation in ShEx for use of 'acts on population of'. Note that 'acts on population of' is still a gorel, though. Do we also need negation shapes?

PREFIX GoCellPopulationProliferation: \http://purl.obolibrary.org/obo/GO_0008283 PREFIX GoHomeostasisOfNumberOfCells: \http://purl.obolibrary.org/obo/GO_0048872 PREFIX acts_on_populationof: \<http://purl.obolibrary.org/obo/RO???????>

\ IRI @\ AND EXTRA rdfs:subClassOf { rdfs:subClassOf [ GoCellPopulationProliferation: ];

}

\ @\ AND EXTRA a { a @\; {1} acts_on_population_of: @\ {0,1}; } // rdfs:comment "a cell population proliferation GO biological process or child”

\ IRI @\ AND EXTRA rdfs:subClassOf { rdfs:subClassOf [ GoHomeostasisOfNumberOfCells: ];

}

\ @\ AND EXTRA a { a @\; {1} acts_on_population_of: @ {0,1}; } // rdfs:comment "a homeostasis of number of cells GO biological process or child”

goodb commented 4 years ago

@vanaukenk continuing discussion from spec call yesterday. If we did want to go down the road proposed here as many on the call seemed to like, we would need to add additional lines to the shapemap file along the lines of: SPARQL 'SELECT ?x WHERE { ?x a/http://www.w3.org/2000/01/rdf-schema#subClassOf http://purl.obolibrary.org/obo/GO_0008283 }' @ http://purl.obolibrary.org/obo/go/shapes/CellPopulationProliferation

It also seems like you'd want to change <CellPopulationProliferation> @<GoCamEntity> to <CellPopulationProliferation> @<BiologicalProcess>

so that you would also get the rest of the BP constraints on those nodes.

If there are specific constellations of properties that we want to enforce are only associated with specific subclasses of our go-cam roots, I think something like this is needed.

I think again, we need to sort out how the shex constraints relate to the ontology constraints. If we define the domain and range of e.g. acts_on_population_of in the RO to apply to the classes listed here, then what we are doing here is not really necessary - or could be computed automatically from the ontology.

ukemi commented 4 years ago

Is there a way to leverage the DOS-DPs to do this?

goodb commented 4 years ago

@ukemi if you mean compute shapes corresponding to logical definitions, then I don't think DOS-DPs would work on a technical level. That is really for taking a spreadsheet and turning it into axioms. Intention-wise, yes, thats the idea.

We could use the OWL-API to do it. I don't think it would be a problem. But.. its not clear to me if its a good idea or not. Why be redundant? I guess if the shapes were really driving things - e.g. automatic form generation for the UI, then it would be a way to make sure everyone was in sync and to let the ontology drive the process.

vanaukenk commented 3 years ago

Closing this ticket, as we've added many term-specific BP shapes.