Open vanaukenk opened 1 year ago
Here's a query grouping as requested:
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX part_of: <http://purl.obolibrary.org/obo/BFO_0000050>
PREFIX BP: <http://purl.obolibrary.org/obo/GO_0008150>
SELECT (STR(MIN(?rel_label)) AS ?rel_name) (GROUP_CONCAT(DISTINCT ?cam ; separator=" | ") AS ?models)
WHERE {
?rel a owl:ObjectProperty .
# This pattern selects asserted GO-CAM graphs
?cam <http://geneontology.org/lego/modelstate> ?state .
GRAPH ?cam {
?bp1 ?rel ?bp2 .
}
GRAPH ?cam {
?bp1 rdf:type ?asserted_bp1_type .
}
GRAPH ?cam {
?bp2 rdf:type ?asserted_bp2_type .
}
?asserted_bp1_type rdfs:subClassOf BP: .
FILTER(?asserted_bp1_type != BP:)
FILTER(?asserted_bp1_type != owl:NamedIndividual)
?asserted_bp2_type rdfs:subClassOf BP: .
FILTER(?asserted_bp2_type != BP:)
FILTER(?asserted_bp2_type != owl:NamedIndividual)
?rel rdfs:label ?rel_label .
FILTER(?rel != part_of:)
FILTER(isIRI(?bp1))
FILTER(isIRI(?bp2))
FILTER(isIRI(?asserted_bp1_type))
FILTER(isIRI(?asserted_bp2_type))
}
GROUP BY ?rel
We are working on annotation documentation for BP-to-BP relations and would like to assess the extent to which relations, other than 'part of', have been used to link BPs to BPs in Noctua.
Can we get a list of all models that contain non 'part of' relations between BPs, grouped by the relation?
@balhoff @ukemi @pgaudet @vanaukenk