diff --git a/project/excel/gocam.xlsx b/project/excel/gocam.xlsx index 305ff58..ddf8c51 100644 Binary files a/project/excel/gocam.xlsx and b/project/excel/gocam.xlsx differ diff --git a/project/gocam.py b/project/gocam.py index 9b11143..5838bcd 100644 --- a/project/gocam.py +++ b/project/gocam.py @@ -1,5 +1,5 @@ # Auto generated from gocam.yaml by pythongen.py version: 0.0.1 -# Generation date: 2024-08-28T17:21:26 +# Generation date: 2024-08-30T10:47:21 # Schema: gocam # # id: https://w3id.org/gocam @@ -212,6 +212,7 @@ class Activity(YAMLRoot): occurs_in: Optional[Union[dict, "CellularAnatomicalEntityAssociation"]] = None part_of: Optional[Union[dict, "BiologicalProcessAssociation"]] = None has_direct_input: Optional[Union[dict, "MoleculeAssociation"]] = None + has_direct_output: Optional[Union[dict, "MoleculeAssociation"]] = None causal_associations: Optional[Union[Union[dict, "CausalAssociation"], List[Union[dict, "CausalAssociation"]]]] = empty_list() provenances: Optional[Union[Union[dict, "ProvenanceInfo"], List[Union[dict, "ProvenanceInfo"]]]] = empty_list() @@ -236,6 +237,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.has_direct_input is not None and not isinstance(self.has_direct_input, MoleculeAssociation): self.has_direct_input = MoleculeAssociation(**as_dict(self.has_direct_input)) + if self.has_direct_output is not None and not isinstance(self.has_direct_output, MoleculeAssociation): + self.has_direct_output = MoleculeAssociation(**as_dict(self.has_direct_output)) + if not isinstance(self.causal_associations, list): self.causal_associations = [self.causal_associations] if self.causal_associations is not None else [] self.causal_associations = [v if isinstance(v, CausalAssociation) else CausalAssociation(**as_dict(v)) for v in self.causal_associations] @@ -1175,6 +1179,9 @@ class slots: slots.activity__has_direct_input = Slot(uri=GOCAM.has_direct_input, name="activity__has_direct_input", curie=GOCAM.curie('has_direct_input'), model_uri=GOCAM.activity__has_direct_input, domain=None, range=Optional[Union[dict, MoleculeAssociation]]) +slots.activity__has_direct_output = Slot(uri=GOCAM.has_direct_output, name="activity__has_direct_output", curie=GOCAM.curie('has_direct_output'), + model_uri=GOCAM.activity__has_direct_output, domain=None, range=Optional[Union[dict, MoleculeAssociation]]) + slots.activity__causal_associations = Slot(uri=GOCAM.causal_associations, name="activity__causal_associations", curie=GOCAM.curie('causal_associations'), model_uri=GOCAM.activity__causal_associations, domain=None, range=Optional[Union[Union[dict, CausalAssociation], List[Union[dict, CausalAssociation]]]]) diff --git a/project/graphql/gocam.graphql b/project/graphql/gocam.graphql index 821a6f1..6c0563f 100644 --- a/project/graphql/gocam.graphql +++ b/project/graphql/gocam.graphql @@ -7,6 +7,7 @@ type Activity occursIn: CellularAnatomicalEntityAssociation partOf: BiologicalProcessAssociation hasDirectInput: MoleculeAssociation + hasDirectOutput: MoleculeAssociation causalAssociations: [CausalAssociation] provenances: [ProvenanceInfo] } diff --git a/project/jsonld/gocam.context.jsonld b/project/jsonld/gocam.context.jsonld index 89bca6b..5a3f34e 100644 --- a/project/jsonld/gocam.context.jsonld +++ b/project/jsonld/gocam.context.jsonld @@ -1,7 +1,7 @@ { "comments": { "description": "Auto generated by LinkML jsonld context generator", - "generation_date": "2024-08-28T17:21:26", + "generation_date": "2024-08-30T10:47:20", "source": "gocam.yaml" }, "@context": { @@ -63,6 +63,10 @@ "@type": "@id", "@id": "has_direct_input" }, + "has_direct_output": { + "@type": "@id", + "@id": "has_direct_output" + }, "id": "@id", "molecular_function": { "@type": "@id", diff --git a/project/jsonld/gocam.jsonld b/project/jsonld/gocam.jsonld index 93af161..52bd934 100644 --- a/project/jsonld/gocam.jsonld +++ b/project/jsonld/gocam.jsonld @@ -703,6 +703,20 @@ "inlined": true, "@type": "SlotDefinition" }, + { + "name": "activity__has_direct_output", + "description": "The output molecules that are directly produced by the activity", + "from_schema": "https://w3id.org/gocam", + "slot_uri": "https://w3id.org/gocam/has_direct_output", + "alias": "has_direct_output", + "owner": "Activity", + "domain_of": [ + "Activity" + ], + "range": "MoleculeAssociation", + "inlined": true, + "@type": "SlotDefinition" + }, { "name": "activity__causal_associations", "description": "The causal associations that connect this activity to other activities", @@ -1374,6 +1388,7 @@ "activity__occurs_in", "activity__part_of", "activity__has_direct_input", + "activity__has_direct_output", "activity__causal_associations", "activity__provenances" ], @@ -1427,6 +1442,13 @@ "inlined": true, "@type": "SlotDefinition" }, + { + "name": "has_direct_output", + "description": "The output molecules that are directly produced by the activity", + "range": "MoleculeAssociation", + "inlined": true, + "@type": "SlotDefinition" + }, { "name": "causal_associations", "description": "The causal associations that connect this activity to other activities", @@ -2138,9 +2160,9 @@ ], "metamodel_version": "1.7.0", "source_file": "gocam.yaml", - "source_file_date": "2024-08-28T16:22:21", - "source_file_size": 13188, - "generation_date": "2024-08-28T17:21:26", + "source_file_date": "2024-08-29T14:40:00", + "source_file_size": 13355, + "generation_date": "2024-08-30T10:47:20", "@type": "SchemaDefinition", "@context": [ "project/jsonld/gocam.context.jsonld", diff --git a/project/jsonschema/gocam.schema.json b/project/jsonschema/gocam.schema.json index 1f0bf30..a30c6b0 100644 --- a/project/jsonschema/gocam.schema.json +++ b/project/jsonschema/gocam.schema.json @@ -26,6 +26,10 @@ "$ref": "#/$defs/MoleculeAssociation", "description": "The input molecules that are directly consumed by the activity" }, + "has_direct_output": { + "$ref": "#/$defs/MoleculeAssociation", + "description": "The output molecules that are directly produced by the activity" + }, "id": { "description": "Identifier of the activity unit. Should be in gocam namespace.", "type": "string" diff --git a/project/owl/gocam.owl.ttl b/project/owl/gocam.owl.ttl index 9af790e..88637d4 100644 --- a/project/owl/gocam.owl.ttl +++ b/project/owl/gocam.owl.ttl @@ -11,64 +11,64 @@ gocam:Model a owl:Class, linkml:ClassDefinition ; rdfs:label "Model" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom gocam:TaxonTermObject ; + owl:minCardinality 0 ; owl:onProperty gocam:taxon ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty gocam:taxon ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:taxon ], + owl:onProperty gocam:title ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty gocam:comments ], + owl:onProperty gocam:status ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty gocam:comments ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty gocam:id ], + owl:onProperty gocam:title ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty gocam:id ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:title ], + owl:allValuesFrom gocam:Activity ; + owl:onProperty gocam:activities ], [ a owl:Restriction ; owl:allValuesFrom gocam:Object ; owl:onProperty gocam:objects ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty gocam:status ], + owl:minCardinality 0 ; + owl:onProperty gocam:comments ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty gocam:status ], + owl:onProperty gocam:objects ], [ a owl:Restriction ; - owl:allValuesFrom gocam:ProvenanceInfo ; + owl:minCardinality 0 ; owl:onProperty gocam:provenances ], [ a owl:Restriction ; - owl:allValuesFrom gocam:Activity ; - owl:onProperty gocam:activities ], + owl:minCardinality 1 ; + owl:onProperty gocam:id ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty gocam:activities ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty gocam:title ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; owl:onProperty gocam:title ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty gocam:objects ], + owl:onProperty gocam:activities ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; + owl:allValuesFrom linkml:String ; + owl:onProperty gocam:comments ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty gocam:id ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty gocam:status ], + [ a owl:Restriction ; + owl:allValuesFrom gocam:TaxonTermObject ; + owl:onProperty gocam:taxon ], [ a owl:Restriction ; owl:allValuesFrom gocam:ModelStateEnum ; owl:onProperty gocam:status ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; + owl:onProperty gocam:taxon ], + [ a owl:Restriction ; + owl:allValuesFrom gocam:ProvenanceInfo ; owl:onProperty gocam:provenances ] ; skos:definition "A model of a biological program consisting of a set of causally connected activities" ; skos:inScheme . @@ -77,34 +77,34 @@ gocam:EvidenceItem a owl:Class, linkml:ClassDefinition ; rdfs:label "EvidenceItem" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom gocam:Object ; - owl:onProperty gocam:with_objects ], - [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty gocam:term ], + owl:onProperty gocam:provenances ], [ a owl:Restriction ; owl:allValuesFrom gocam:PublicationObject ; owl:onProperty gocam:reference ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty gocam:reference ], [ a owl:Restriction ; owl:allValuesFrom gocam:ProvenanceInfo ; owl:onProperty gocam:provenances ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty gocam:with_objects ], + owl:onProperty gocam:term ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:reference ], + owl:allValuesFrom gocam:EvidenceTermObject ; + owl:onProperty gocam:term ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty gocam:reference ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty gocam:provenances ], + owl:onProperty gocam:with_objects ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty gocam:term ], + owl:allValuesFrom gocam:Object ; + owl:onProperty gocam:with_objects ], [ a owl:Restriction ; - owl:allValuesFrom gocam:EvidenceTermObject ; + owl:maxCardinality 1 ; owl:onProperty gocam:term ] ; skos:definition "An individual piece of evidence that is associated with an assertion in a model" ; skos:inScheme . @@ -168,40 +168,61 @@ gocam:Activity a owl:Class, linkml:ClassDefinition ; rdfs:label "Activity" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty gocam:id ], + owl:maxCardinality 1 ; + owl:onProperty gocam:part_of ], + [ a owl:Restriction ; + owl:allValuesFrom gocam:CausalAssociation ; + owl:onProperty gocam:causal_associations ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty gocam:has_direct_input ], + owl:onProperty gocam:has_direct_output ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty gocam:molecular_function ], + owl:minCardinality 0 ; + owl:onProperty gocam:enabled_by ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty gocam:id ], + owl:onProperty gocam:molecular_function ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty gocam:causal_associations ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty gocam:provenances ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty gocam:has_direct_input ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty gocam:occurs_in ], + owl:onProperty gocam:id ], + [ a owl:Restriction ; + owl:allValuesFrom gocam:MoleculeAssociation ; + owl:onProperty gocam:has_direct_input ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty gocam:id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom gocam:CellularAnatomicalEntityAssociation ; + owl:onProperty gocam:occurs_in ], + [ a owl:Restriction ; + owl:allValuesFrom gocam:ProvenanceInfo ; + owl:onProperty gocam:provenances ], + [ a owl:Restriction ; + owl:allValuesFrom gocam:EnabledByAssociation ; owl:onProperty gocam:enabled_by ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:part_of ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty gocam:id ], + [ a owl:Restriction ; + owl:allValuesFrom gocam:MolecularFunctionAssociation ; + owl:onProperty gocam:molecular_function ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty gocam:part_of ], + owl:onProperty gocam:has_direct_output ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty gocam:occurs_in ], + owl:onProperty gocam:part_of ], [ a owl:Restriction ; - owl:allValuesFrom gocam:EnabledByAssociation ; + owl:maxCardinality 1 ; owl:onProperty gocam:enabled_by ], [ a owl:Restriction ; owl:allValuesFrom gocam:BiologicalProcessAssociation ; @@ -210,29 +231,17 @@ gocam:Activity a owl:Class, owl:maxCardinality 1 ; owl:onProperty gocam:has_direct_input ], [ a owl:Restriction ; - owl:allValuesFrom gocam:MolecularFunctionAssociation ; - owl:onProperty gocam:molecular_function ], - [ a owl:Restriction ; - owl:allValuesFrom gocam:CellularAnatomicalEntityAssociation ; - owl:onProperty gocam:occurs_in ], - [ a owl:Restriction ; - owl:allValuesFrom gocam:CausalAssociation ; - owl:onProperty gocam:causal_associations ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:provenances ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:enabled_by ], + owl:allValuesFrom gocam:MoleculeAssociation ; + owl:onProperty gocam:has_direct_output ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty gocam:molecular_function ], [ a owl:Restriction ; - owl:allValuesFrom gocam:ProvenanceInfo ; - owl:onProperty gocam:provenances ], + owl:maxCardinality 1 ; + owl:onProperty gocam:occurs_in ], [ a owl:Restriction ; - owl:allValuesFrom gocam:MoleculeAssociation ; - owl:onProperty gocam:has_direct_input ] ; + owl:minCardinality 0 ; + owl:onProperty gocam:occurs_in ] ; skos:altLabel "annoton" ; skos:definition "An individual activity in a causal model, representing the individual molecular activity of a single gene product or complex in the context of a particular model" ; skos:inScheme . @@ -241,14 +250,14 @@ gocam:EnabledByGeneProductAssociation a owl:Class, linkml:ClassDefinition ; rdfs:label "EnabledByGeneProductAssociation" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:term ], - [ a owl:Restriction ; owl:allValuesFrom gocam:GeneProductTermObject ; owl:onProperty gocam:term ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty gocam:term ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty gocam:term ], gocam:EnabledByAssociation ; skos:definition "An association between an activity and a gene product" ; skos:inScheme . @@ -257,20 +266,20 @@ gocam:EnabledByProteinComplexAssociation a owl:Class, linkml:ClassDefinition ; rdfs:label "EnabledByProteinComplexAssociation" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom gocam:GeneProductTermObject ; owl:onProperty gocam:members ], - [ a owl:Restriction ; - owl:allValuesFrom gocam:ProteinComplexTermObject ; - owl:onProperty gocam:term ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty gocam:term ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty gocam:members ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty gocam:term ], [ a owl:Restriction ; - owl:allValuesFrom gocam:GeneProductTermObject ; - owl:onProperty gocam:members ], + owl:allValuesFrom gocam:ProteinComplexTermObject ; + owl:onProperty gocam:term ], gocam:EnabledByAssociation ; skos:definition "An association between an activity and a protein complex" ; skos:inScheme . @@ -348,31 +357,31 @@ gocam:BiologicalProcessAssociation a owl:Class, rdfs:label "BiologicalProcessAssociation" ; rdfs:subClassOf [ a owl:Restriction ; owl:allValuesFrom gocam:BiologicalProcessTermObject ; - owl:onProperty gocam:part_of ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; owl:onProperty gocam:term ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty gocam:part_of ], [ a owl:Restriction ; - owl:allValuesFrom gocam:BiologicalProcessTermObject ; - owl:onProperty gocam:term ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:term ], - [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty gocam:happens_during ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty gocam:part_of ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty gocam:happens_during ], [ a owl:Restriction ; owl:allValuesFrom gocam:PhaseTermObject ; owl:onProperty gocam:happens_during ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty gocam:term ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty gocam:term ], + [ a owl:Restriction ; + owl:allValuesFrom gocam:BiologicalProcessTermObject ; + owl:onProperty gocam:part_of ], gocam:TermAssociation ; skos:definition "An association between an activity and a biological process term" ; skos:inScheme . @@ -381,10 +390,7 @@ gocam:CausalAssociation a owl:Class, linkml:ClassDefinition ; rdfs:label "CausalAssociation" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:downstream_activity ], - [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom gocam:PredicateTermObject ; owl:onProperty gocam:predicate ], [ a owl:Restriction ; owl:maxCardinality 1 ; @@ -396,8 +402,11 @@ gocam:CausalAssociation a owl:Class, owl:maxCardinality 1 ; owl:onProperty gocam:predicate ], [ a owl:Restriction ; - owl:allValuesFrom gocam:PredicateTermObject ; + owl:minCardinality 0 ; owl:onProperty gocam:predicate ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty gocam:downstream_activity ], gocam:Association ; skos:definition "A causal association between two activities" ; skos:inScheme . @@ -406,23 +415,23 @@ gocam:CellTypeAssociation a owl:Class, linkml:ClassDefinition ; rdfs:label "CellTypeAssociation" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom gocam:CellTypeTermObject ; - owl:onProperty gocam:term ], - [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty gocam:part_of ], + owl:onProperty gocam:term ], [ a owl:Restriction ; owl:allValuesFrom gocam:GrossAnatomyAssociation ; owl:onProperty gocam:part_of ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom gocam:CellTypeTermObject ; + owl:onProperty gocam:term ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty gocam:part_of ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty gocam:term ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty gocam:term ], + owl:minCardinality 0 ; + owl:onProperty gocam:part_of ], gocam:TermAssociation ; skos:definition "An association between an activity and a cell type term" ; skos:inScheme . @@ -438,23 +447,23 @@ gocam:CellularAnatomicalEntityAssociation a owl:Class, linkml:ClassDefinition ; rdfs:label "CellularAnatomicalEntityAssociation" ; rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty gocam:term ], + [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty gocam:part_of ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty gocam:term ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty gocam:term ], - [ a owl:Restriction ; - owl:allValuesFrom gocam:CellularAnatomicalEntityTermObject ; - owl:onProperty gocam:term ], [ a owl:Restriction ; owl:allValuesFrom gocam:CellTypeAssociation ; owl:onProperty gocam:part_of ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty gocam:part_of ], + [ a owl:Restriction ; + owl:allValuesFrom gocam:CellularAnatomicalEntityTermObject ; + owl:onProperty gocam:term ], gocam:TermAssociation ; skos:definition "An association between an activity and a cellular anatomical entity term" ; skos:inScheme . @@ -484,14 +493,14 @@ gocam:MolecularFunctionAssociation a owl:Class, linkml:ClassDefinition ; rdfs:label "MolecularFunctionAssociation" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:term ], - [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty gocam:term ], [ a owl:Restriction ; owl:allValuesFrom gocam:MolecularFunctionTermObject ; owl:onProperty gocam:term ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty gocam:term ], gocam:TermAssociation ; skos:definition "An association between an activity and a molecular function term" ; skos:inScheme . @@ -503,22 +512,6 @@ gocam:MolecularFunctionTermObject a owl:Class, skos:definition "A term object that represents a molecular function term from GO" ; skos:inScheme . -gocam:MoleculeAssociation a owl:Class, - linkml:ClassDefinition ; - rdfs:label "MoleculeAssociation" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:term ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty gocam:term ], - [ a owl:Restriction ; - owl:allValuesFrom gocam:MoleculeTermObject ; - owl:onProperty gocam:term ], - gocam:TermAssociation ; - skos:definition "An association between an activity and a molecule term" ; - skos:inScheme . - gocam:MoleculeTermObject a owl:Class, linkml:ClassDefinition ; rdfs:label "MoleculeTermObject" ; @@ -551,19 +544,19 @@ gocam:PublicationObject a owl:Class, linkml:ClassDefinition ; rdfs:label "PublicationObject" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 0 ; owl:onProperty gocam:full_text ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty gocam:full_text ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty gocam:abstract_text ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty gocam:full_text ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty gocam:abstract_text ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; @@ -623,6 +616,12 @@ gocam:has_direct_input a owl:ObjectProperty, skos:definition "The input molecules that are directly consumed by the activity" ; skos:inScheme . +gocam:has_direct_output a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "has_direct_output" ; + skos:definition "The output molecules that are directly produced by the activity" ; + skos:inScheme . + gocam:label a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "label" ; @@ -699,66 +698,82 @@ gocam:GrossAnatomyAssociation a owl:Class, linkml:ClassDefinition ; rdfs:label "GrossAnatomyAssociation" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:part_of ], + owl:allValuesFrom gocam:GrossAnatomicalStructureTermObject ; + owl:onProperty gocam:term ], [ a owl:Restriction ; owl:allValuesFrom gocam:GrossAnatomyAssociation ; owl:onProperty gocam:part_of ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty gocam:term ], [ a owl:Restriction ; - owl:allValuesFrom gocam:GrossAnatomicalStructureTermObject ; + owl:maxCardinality 1 ; + owl:onProperty gocam:part_of ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty gocam:term ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty gocam:part_of ], + gocam:TermAssociation ; + skos:definition "An association between an activity and a gross anatomical structure term" ; + skos:inScheme . + +gocam:MoleculeAssociation a owl:Class, + linkml:ClassDefinition ; + rdfs:label "MoleculeAssociation" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty gocam:term ], + [ a owl:Restriction ; + owl:allValuesFrom gocam:MoleculeTermObject ; + owl:onProperty gocam:term ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty gocam:term ], gocam:TermAssociation ; - skos:definition "An association between an activity and a gross anatomical structure term" ; + skos:definition "An association between an activity and a molecule term" ; skos:inScheme . gocam:ProvenanceInfo a owl:Class, linkml:ClassDefinition ; rdfs:label "ProvenanceInfo" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:date ], + owl:allValuesFrom linkml:String ; + owl:onProperty gocam:provided_by ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty gocam:created ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty gocam:provided_by ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty gocam:contributor ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty gocam:date ], + owl:minCardinality 0 ; + owl:onProperty gocam:provided_by ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty gocam:date ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:created ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty gocam:contributor ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty gocam:provided_by ], + owl:onProperty gocam:created ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty gocam:contributor ], + owl:allValuesFrom linkml:String ; + owl:onProperty gocam:date ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty gocam:provided_by ], + owl:onProperty gocam:date ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty gocam:created ] ; + owl:minCardinality 0 ; + owl:onProperty gocam:created ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty gocam:contributor ] ; skos:definition "Provenance information for an object" ; skos:inScheme . @@ -766,26 +781,26 @@ gocam:Association a owl:Class, linkml:ClassDefinition ; rdfs:label "Association" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 0 ; owl:onProperty gocam:type ], [ a owl:Restriction ; - owl:allValuesFrom gocam:ProvenanceInfo ; - owl:onProperty gocam:provenances ], - [ a owl:Restriction ; - owl:allValuesFrom gocam:EvidenceItem ; - owl:onProperty gocam:evidence ], + owl:allValuesFrom linkml:String ; + owl:onProperty gocam:type ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty gocam:provenances ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty gocam:type ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty gocam:evidence ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:type ], + owl:allValuesFrom gocam:EvidenceItem ; + owl:onProperty gocam:evidence ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty gocam:type ] ; + owl:allValuesFrom gocam:ProvenanceInfo ; + owl:onProperty gocam:provenances ] ; skos:definition "An abstract grouping for different kinds of evidence-associated provenance" ; skos:inScheme . @@ -793,13 +808,13 @@ gocam:EnabledByAssociation a owl:Class, linkml:ClassDefinition ; rdfs:label "EnabledByAssociation" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom gocam:InformationBiomacromoleculeTermObject ; + owl:maxCardinality 1 ; owl:onProperty gocam:term ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom gocam:InformationBiomacromoleculeTermObject ; owl:onProperty gocam:term ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty gocam:term ], gocam:Association ; skos:definition "An association between an activity and the gene product or complex that carries it out" ; @@ -822,41 +837,41 @@ gocam:Object a owl:Class, linkml:ClassDefinition ; rdfs:label "Object" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty gocam:obsolete ], + owl:minCardinality 0 ; + owl:onProperty gocam:label ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty gocam:label ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty gocam:type ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty gocam:id ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty gocam:obsolete ], + owl:onProperty gocam:type ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty gocam:id ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty gocam:type ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:label ], + owl:maxCardinality 1 ; + owl:onProperty gocam:id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; + owl:minCardinality 1 ; owl:onProperty gocam:id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty gocam:type ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty gocam:obsolete ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty gocam:label ], + owl:onProperty gocam:obsolete ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty gocam:label ], + owl:minCardinality 0 ; + owl:onProperty gocam:obsolete ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty gocam:obsolete ] ; + owl:onProperty gocam:label ] ; skos:definition "An abstract class for all identified objects in a model" ; skos:inScheme . @@ -872,13 +887,13 @@ gocam:TermAssociation a owl:Class, linkml:ClassDefinition ; rdfs:label "TermAssociation" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty gocam:term ], [ a owl:Restriction ; owl:allValuesFrom gocam:TermObject ; owl:onProperty gocam:term ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty gocam:term ], gocam:Association ; skos:definition "An association between an activity and a term, potentially with extensions" ; @@ -933,142 +948,142 @@ The central class in this datamodel is a [Model](Model.md). A model consists of [Activity](Activity.md) objects.""" . [] a owl:Restriction ; - rdfs:subClassOf gocam:MoleculeTermObject ; + rdfs:subClassOf gocam:PublicationObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:MoleculeTermObject . + owl:someValuesFrom gocam:PublicationObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:CellTypeAssociation ; + rdfs:subClassOf gocam:CellTypeTermObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:CellTypeAssociation . + owl:someValuesFrom gocam:CellTypeTermObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:MolecularFunctionAssociation ; + rdfs:subClassOf gocam:BiologicalProcessAssociation ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:MolecularFunctionAssociation . + owl:someValuesFrom gocam:BiologicalProcessAssociation . [] a owl:Restriction ; - rdfs:subClassOf gocam:BiologicalProcessAssociation ; + rdfs:subClassOf gocam:GeneProductTermObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:BiologicalProcessAssociation . + owl:someValuesFrom gocam:GeneProductTermObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:CellTypeTermObject ; + rdfs:subClassOf gocam:MoleculeTermObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:CellTypeTermObject . + owl:someValuesFrom gocam:MoleculeTermObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:TermObject ; + rdfs:subClassOf gocam:EnabledByProteinComplexAssociation ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:TermObject . + owl:someValuesFrom gocam:EnabledByProteinComplexAssociation . [] a owl:Restriction ; - rdfs:subClassOf gocam:Association ; + rdfs:subClassOf gocam:Object ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:Association . + owl:someValuesFrom gocam:Object . [] a owl:Restriction ; - rdfs:subClassOf gocam:GrossAnatomyAssociation ; + rdfs:subClassOf gocam:CellularAnatomicalEntityTermObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:GrossAnatomyAssociation . + owl:someValuesFrom gocam:CellularAnatomicalEntityTermObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:PublicationObject ; + rdfs:subClassOf gocam:GrossAnatomicalStructureTermObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:PublicationObject . + owl:someValuesFrom gocam:GrossAnatomicalStructureTermObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:EvidenceTermObject ; + rdfs:subClassOf gocam:EnabledByAssociation ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:EvidenceTermObject . + owl:someValuesFrom gocam:EnabledByAssociation . [] a owl:Restriction ; - rdfs:subClassOf gocam:MolecularFunctionTermObject ; + rdfs:subClassOf gocam:TermObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:MolecularFunctionTermObject . + owl:someValuesFrom gocam:TermObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:MoleculeAssociation ; + rdfs:subClassOf gocam:BiologicalProcessTermObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:MoleculeAssociation . + owl:someValuesFrom gocam:BiologicalProcessTermObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:Object ; + rdfs:subClassOf gocam:CellularAnatomicalEntityAssociation ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:Object . + owl:someValuesFrom gocam:CellularAnatomicalEntityAssociation . [] a owl:Restriction ; - rdfs:subClassOf gocam:InformationBiomacromoleculeTermObject ; + rdfs:subClassOf gocam:PredicateTermObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:InformationBiomacromoleculeTermObject . + owl:someValuesFrom gocam:PredicateTermObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:ProteinComplexTermObject ; + rdfs:subClassOf gocam:GrossAnatomyAssociation ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:ProteinComplexTermObject . + owl:someValuesFrom gocam:GrossAnatomyAssociation . [] a owl:Restriction ; - rdfs:subClassOf gocam:PredicateTermObject ; + rdfs:subClassOf gocam:MoleculeAssociation ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:PredicateTermObject . + owl:someValuesFrom gocam:MoleculeAssociation . [] a owl:Restriction ; - rdfs:subClassOf gocam:EnabledByGeneProductAssociation ; + rdfs:subClassOf gocam:PhaseTermObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:EnabledByGeneProductAssociation . + owl:someValuesFrom gocam:PhaseTermObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:CausalAssociation ; + rdfs:subClassOf gocam:TaxonTermObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:CausalAssociation . + owl:someValuesFrom gocam:TaxonTermObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:CellularAnatomicalEntityAssociation ; + rdfs:subClassOf gocam:EvidenceTermObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:CellularAnatomicalEntityAssociation . + owl:someValuesFrom gocam:EvidenceTermObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:EnabledByProteinComplexAssociation ; + rdfs:subClassOf gocam:CellTypeAssociation ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:EnabledByProteinComplexAssociation . + owl:someValuesFrom gocam:CellTypeAssociation . [] a owl:Restriction ; - rdfs:subClassOf gocam:EnabledByAssociation ; + rdfs:subClassOf gocam:Association ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:EnabledByAssociation . + owl:someValuesFrom gocam:Association . [] a owl:Restriction ; - rdfs:subClassOf gocam:GrossAnatomicalStructureTermObject ; + rdfs:subClassOf gocam:EnabledByGeneProductAssociation ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:GrossAnatomicalStructureTermObject . + owl:someValuesFrom gocam:EnabledByGeneProductAssociation . [] a owl:Restriction ; - rdfs:subClassOf gocam:TaxonTermObject ; + rdfs:subClassOf gocam:MolecularFunctionAssociation ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:TaxonTermObject . + owl:someValuesFrom gocam:MolecularFunctionAssociation . [] a owl:Restriction ; - rdfs:subClassOf gocam:GeneProductTermObject ; + rdfs:subClassOf gocam:InformationBiomacromoleculeTermObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:GeneProductTermObject . + owl:someValuesFrom gocam:InformationBiomacromoleculeTermObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:PhaseTermObject ; + rdfs:subClassOf gocam:CausalAssociation ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:PhaseTermObject . + owl:someValuesFrom gocam:CausalAssociation . [] a owl:Restriction ; - rdfs:subClassOf gocam:TermAssociation ; + rdfs:subClassOf gocam:MolecularFunctionTermObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:TermAssociation . + owl:someValuesFrom gocam:MolecularFunctionTermObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:BiologicalProcessTermObject ; + rdfs:subClassOf gocam:ProteinComplexTermObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:BiologicalProcessTermObject . + owl:someValuesFrom gocam:ProteinComplexTermObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:CellularAnatomicalEntityTermObject ; + rdfs:subClassOf gocam:TermAssociation ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:CellularAnatomicalEntityTermObject . + owl:someValuesFrom gocam:TermAssociation . diff --git a/project/protobuf/gocam.proto b/project/protobuf/gocam.proto index 27080ea..cfdd5a6 100644 --- a/project/protobuf/gocam.proto +++ b/project/protobuf/gocam.proto @@ -10,6 +10,7 @@ message Activity cellularAnatomicalEntityAssociation occursIn = 0 biologicalProcessAssociation partOf = 0 moleculeAssociation hasDirectInput = 0 + moleculeAssociation hasDirectOutput = 0 repeated causalAssociation causalAssociations = 0 repeated provenanceInfo provenances = 0 } diff --git a/project/shacl/gocam.shacl.ttl b/project/shacl/gocam.shacl.ttl index 099fba7..1735046 100644 --- a/project/shacl/gocam.shacl.ttl +++ b/project/shacl/gocam.shacl.ttl @@ -8,19 +8,19 @@ gocam:Association a sh:NodeShape ; sh:closed false ; sh:description "An abstract grouping for different kinds of evidence-associated provenance" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class gocam:ProvenanceInfo ; + sh:property [ sh:class gocam:EvidenceItem ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path gocam:provenances ], + sh:order 1 ; + sh:path gocam:evidence ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path gocam:type ], - [ sh:class gocam:EvidenceItem ; + [ sh:class gocam:ProvenanceInfo ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 1 ; - sh:path gocam:evidence ] ; + sh:order 2 ; + sh:path gocam:provenances ] ; sh:targetClass gocam:Association . gocam:CellTypeAssociation a sh:NodeShape ; @@ -31,6 +31,11 @@ gocam:CellTypeAssociation a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 2 ; sh:path gocam:evidence ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path gocam:type ], [ sh:class gocam:ProvenanceInfo ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; @@ -40,28 +45,23 @@ gocam:CellTypeAssociation a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; sh:order 0 ; - sh:path gocam:term ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path gocam:type ] ; + sh:path gocam:term ] ; sh:targetClass gocam:CellTypeAssociation . gocam:EnabledByGeneProductAssociation a sh:NodeShape ; sh:closed true ; sh:description "An association between an activity and a gene product" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class gocam:EvidenceItem ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path gocam:evidence ], - [ sh:class gocam:GeneProductTermObject ; + sh:property [ sh:class gocam:GeneProductTermObject ; sh:description "The gene product or complex that carries out the activity" ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; sh:order 0 ; sh:path gocam:term ], + [ sh:class gocam:EvidenceItem ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path gocam:evidence ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -81,26 +81,26 @@ gocam:EnabledByProteinComplexAssociation a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path gocam:provenances ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path gocam:type ], [ sh:class gocam:GeneProductTermObject ; sh:description "The gene products that are part of the complex" ; sh:nodeKind sh:IRI ; sh:order 0 ; sh:path gocam:members ], - [ sh:class gocam:EvidenceItem ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path gocam:evidence ], [ sh:class gocam:ProteinComplexTermObject ; sh:description "The gene product or complex that carries out the activity" ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; sh:order 1 ; - sh:path gocam:term ] ; + sh:path gocam:term ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path gocam:type ], + [ sh:class gocam:EvidenceItem ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path gocam:evidence ] ; sh:targetClass gocam:EnabledByProteinComplexAssociation . gocam:GrossAnatomyAssociation a sh:NodeShape ; @@ -137,44 +137,44 @@ gocam:Model a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 7 ; sh:path gocam:provenances ], - [ sh:description "The status of the model" ; - sh:in ( "production" "development" ) ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path pav:status ], - [ sh:class gocam:Object ; - sh:description "All of the objects that are part of the model. This includes terms as well as publications and database objects like gene. This is not strictly part of the data managed by the model, it is for convenience, and should be refreshed from outside." ; - sh:nodeKind sh:IRI ; - sh:order 6 ; - sh:path gocam:objects ], [ sh:datatype xsd:anyURI ; sh:description "The identifier of the model. Should be in gocam namespace." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path gocam:id ], - [ sh:class gocam:Activity ; - sh:description "All of the activities that are part of the model" ; - sh:nodeKind sh:IRI ; - sh:order 5 ; - sh:path gocam:activities ], + [ sh:description "The status of the model" ; + sh:in ( "production" "development" ) ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path pav:status ], [ sh:datatype xsd:string ; - sh:description "Comments about the model" ; + sh:description "The human-readable descriptive title of the model" ; + sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path ], + sh:order 1 ; + sh:path ], [ sh:class gocam:TaxonTermObject ; sh:description "The primary taxon that the model is about" ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; sh:order 2 ; sh:path gocam:taxon ], + [ sh:class gocam:Object ; + sh:description "All of the objects that are part of the model. This includes terms as well as publications and database objects like gene. This is not strictly part of the data managed by the model, it is for convenience, and should be refreshed from outside." ; + sh:nodeKind sh:IRI ; + sh:order 6 ; + sh:path gocam:objects ], [ sh:datatype xsd:string ; - sh:description "The human-readable descriptive title of the model" ; - sh:maxCount 1 ; + sh:description "Comments about the model" ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path ] ; + sh:order 4 ; + sh:path ], + [ sh:class gocam:Activity ; + sh:description "All of the activities that are part of the model" ; + sh:nodeKind sh:IRI ; + sh:order 5 ; + sh:path gocam:activities ] ; sh:targetClass gocam:Model . gocam:PhaseTermObject a sh:NodeShape ; @@ -182,16 +182,10 @@ gocam:PhaseTermObject a sh:NodeShape ; sh:description "A term object that represents a phase term from GO or UBERON" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:anyURI ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path gocam:id ], - [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path ], + sh:order 2 ; + sh:path gocam:type ], [ sh:datatype xsd:boolean ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -199,9 +193,15 @@ gocam:PhaseTermObject a sh:NodeShape ; sh:path gocam:obsolete ], [ sh:datatype xsd:anyURI ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path gocam:type ] ; + sh:order 0 ; + sh:path gocam:id ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path ] ; sh:targetClass gocam:PhaseTermObject . gocam:TermAssociation a sh:NodeShape ; @@ -233,21 +233,21 @@ gocam:BiologicalProcessAssociation a sh:NodeShape ; sh:closed true ; sh:description "An association between an activity and a biological process term" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path gocam:type ], + sh:property [ sh:class gocam:ProvenanceInfo ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path gocam:provenances ], [ sh:class gocam:BiologicalProcessTermObject ; sh:description "The ontology term that describes the nature of the association" ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; sh:order 0 ; sh:path gocam:term ], - [ sh:class gocam:ProvenanceInfo ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path gocam:provenances ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path gocam:type ], [ sh:class gocam:EvidenceItem ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 2 ; @@ -258,17 +258,17 @@ gocam:BiologicalProcessTermObject a sh:NodeShape ; sh:closed true ; sh:description "A term object that represents a biological process term from GO" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:anyURI ; + sh:property [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path ], + [ sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path gocam:id ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path ], [ sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -285,7 +285,12 @@ gocam:CausalAssociation a sh:NodeShape ; sh:closed true ; sh:description "A causal association between two activities" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class gocam:EvidenceItem ; + sh:property [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path gocam:type ], + [ sh:class gocam:EvidenceItem ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; sh:path gocam:evidence ], @@ -293,11 +298,6 @@ gocam:CausalAssociation a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path gocam:provenances ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path gocam:type ], [ sh:class gocam:PredicateTermObject ; sh:description "The RO relation that represents the type of relationship" ; sh:maxCount 1 ; @@ -316,22 +316,22 @@ gocam:CellTypeTermObject a sh:NodeShape ; sh:closed true ; sh:description "A term object that represents a cell type term from CL" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; + sh:property [ sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path gocam:obsolete ], + sh:order 2 ; + sh:path gocam:type ], [ sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path gocam:id ], - [ sh:datatype xsd:anyURI ; + [ sh:datatype xsd:boolean ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path gocam:type ], + sh:order 3 ; + sh:path gocam:obsolete ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -343,59 +343,63 @@ gocam:CellularAnatomicalEntityAssociation a sh:NodeShape ; sh:closed true ; sh:description "An association between an activity and a cellular anatomical entity term" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class gocam:EvidenceItem ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path gocam:evidence ], - [ sh:class gocam:CellularAnatomicalEntityTermObject ; + sh:property [ sh:class gocam:CellularAnatomicalEntityTermObject ; sh:description "The ontology term that describes the nature of the association" ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; sh:order 0 ; sh:path gocam:term ], - [ sh:class gocam:ProvenanceInfo ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path gocam:provenances ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; - sh:path gocam:type ] ; + sh:path gocam:type ], + [ sh:class gocam:ProvenanceInfo ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path gocam:provenances ], + [ sh:class gocam:EvidenceItem ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path gocam:evidence ] ; sh:targetClass gocam:CellularAnatomicalEntityAssociation . gocam:CellularAnatomicalEntityTermObject a sh:NodeShape ; sh:closed true ; sh:description "A term object that represents a cellular anatomical entity term from GO" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path gocam:obsolete ], - [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:anyURI ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path ], + sh:order 0 ; + sh:path gocam:id ], [ sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path gocam:type ], - [ sh:datatype xsd:anyURI ; + [ sh:datatype xsd:string ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path gocam:id ] ; + sh:order 1 ; + sh:path ], + [ sh:datatype xsd:boolean ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path gocam:obsolete ] ; sh:targetClass gocam:CellularAnatomicalEntityTermObject . gocam:EnabledByAssociation a sh:NodeShape ; sh:closed false ; sh:description "An association between an activity and the gene product or complex that carries it out" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; + sh:property [ sh:class gocam:EvidenceItem ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path gocam:evidence ], + [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; @@ -404,10 +408,6 @@ gocam:EnabledByAssociation a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; sh:path gocam:provenances ], - [ sh:class gocam:EvidenceItem ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path gocam:evidence ], [ sh:class gocam:InformationBiomacromoleculeTermObject ; sh:description "The gene product or complex that carries out the activity" ; sh:maxCount 1 ; @@ -457,81 +457,76 @@ gocam:GrossAnatomicalStructureTermObject a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path gocam:type ], - [ sh:datatype xsd:boolean ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path gocam:obsolete ], [ sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; - sh:path gocam:id ] ; + sh:path gocam:id ], + [ sh:datatype xsd:boolean ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path gocam:obsolete ] ; sh:targetClass gocam:GrossAnatomicalStructureTermObject . gocam:InformationBiomacromoleculeTermObject a sh:NodeShape ; sh:closed false ; sh:description "An abstract class for all information biomacromolecule term objects" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; + sh:property [ sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path gocam:obsolete ], + sh:order 2 ; + sh:path gocam:type ], [ sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path gocam:id ], - [ sh:datatype xsd:anyURI ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path gocam:type ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; - sh:path ] ; + sh:path ], + [ sh:datatype xsd:boolean ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path gocam:obsolete ] ; sh:targetClass gocam:InformationBiomacromoleculeTermObject . gocam:MolecularFunctionAssociation a sh:NodeShape ; sh:closed true ; sh:description "An association between an activity and a molecular function term" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class gocam:EvidenceItem ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path gocam:evidence ], - [ sh:class gocam:MolecularFunctionTermObject ; + sh:property [ sh:class gocam:MolecularFunctionTermObject ; sh:description "The ontology term that describes the nature of the association" ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; sh:order 0 ; sh:path gocam:term ], + [ sh:class gocam:ProvenanceInfo ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path gocam:provenances ], + [ sh:class gocam:EvidenceItem ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path gocam:evidence ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; - sh:path gocam:type ], - [ sh:class gocam:ProvenanceInfo ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path gocam:provenances ] ; + sh:path gocam:type ] ; sh:targetClass gocam:MolecularFunctionAssociation . gocam:MolecularFunctionTermObject a sh:NodeShape ; sh:closed true ; sh:description "A term object that represents a molecular function term from GO" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path ], - [ sh:datatype xsd:anyURI ; + sh:property [ sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; @@ -542,6 +537,11 @@ gocam:MolecularFunctionTermObject a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path gocam:type ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path ], [ sh:datatype xsd:boolean ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -549,36 +549,16 @@ gocam:MolecularFunctionTermObject a sh:NodeShape ; sh:path gocam:obsolete ] ; sh:targetClass gocam:MolecularFunctionTermObject . -gocam:MoleculeAssociation a sh:NodeShape ; - sh:closed true ; - sh:description "An association between an activity and a molecule term" ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class gocam:ProvenanceInfo ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path gocam:provenances ], - [ sh:class gocam:EvidenceItem ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path gocam:evidence ], - [ sh:class gocam:MoleculeTermObject ; - sh:description "The ontology term that describes the nature of the association" ; - sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 0 ; - sh:path gocam:term ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path gocam:type ] ; - sh:targetClass gocam:MoleculeAssociation . - gocam:MoleculeTermObject a sh:NodeShape ; sh:closed true ; sh:description "A term object that represents a molecule term from CHEBI or UniProtKB" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:anyURI ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path gocam:type ], + [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; @@ -593,12 +573,7 @@ gocam:MoleculeTermObject a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; - sh:path gocam:obsolete ], - [ sh:datatype xsd:anyURI ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path gocam:type ] ; + sh:path gocam:obsolete ] ; sh:targetClass gocam:MoleculeTermObject . gocam:PredicateTermObject a sh:NodeShape ; @@ -610,6 +585,11 @@ gocam:PredicateTermObject a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path gocam:obsolete ], + [ sh:datatype xsd:anyURI ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path gocam:type ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -620,29 +600,24 @@ gocam:PredicateTermObject a sh:NodeShape ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; - sh:path gocam:id ], - [ sh:datatype xsd:anyURI ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path gocam:type ] ; + sh:path gocam:id ] ; sh:targetClass gocam:PredicateTermObject . gocam:ProteinComplexTermObject a sh:NodeShape ; sh:closed true ; sh:description "A term object that represents a protein complex term from GO" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:anyURI ; + sh:property [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path ], + [ sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path gocam:id ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path ], [ sh:datatype xsd:boolean ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -659,22 +634,11 @@ gocam:PublicationObject a sh:NodeShape ; sh:closed true ; sh:description "An object that represents a publication or other kind of reference" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path gocam:obsolete ], - [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path gocam:full_text ], - [ sh:datatype xsd:anyURI ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path gocam:id ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -685,23 +649,29 @@ gocam:PublicationObject a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path gocam:type ], + [ sh:datatype xsd:boolean ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path gocam:obsolete ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; - sh:path gocam:abstract_text ] ; + sh:path gocam:abstract_text ], + [ sh:datatype xsd:anyURI ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path gocam:id ] ; sh:targetClass gocam:PublicationObject . gocam:TaxonTermObject a sh:NodeShape ; sh:closed true ; sh:description "A term object that represents a taxon term from NCBITaxon" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:anyURI ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path gocam:type ], - [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; @@ -711,6 +681,11 @@ gocam:TaxonTermObject a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path gocam:id ], + [ sh:datatype xsd:anyURI ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path gocam:type ], [ sh:datatype xsd:boolean ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -732,69 +707,75 @@ gocam:TermObject a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path ], - [ sh:datatype xsd:boolean ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path gocam:obsolete ], [ sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; - sh:path gocam:id ] ; + sh:path gocam:id ], + [ sh:datatype xsd:boolean ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path gocam:obsolete ] ; sh:targetClass gocam:TermObject . gocam:Activity a sh:NodeShape ; sh:closed true ; sh:description "An individual activity in a causal model, representing the individual molecular activity of a single gene product or complex in the context of a particular model" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class gocam:MoleculeAssociation ; + sh:property [ sh:class gocam:CausalAssociation ; + sh:description "The causal associations that connect this activity to other activities" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 7 ; + sh:path gocam:causal_associations ], + [ sh:class gocam:MolecularFunctionAssociation ; + sh:description "The molecular function that is carried out by the gene product or complex" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path gocam:molecular_function ], + [ sh:class gocam:MoleculeAssociation ; + sh:description "The output molecules that are directly produced by the activity" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 6 ; + sh:path gocam:has_direct_output ], + [ sh:class gocam:MoleculeAssociation ; sh:description "The input molecules that are directly consumed by the activity" ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 5 ; sh:path gocam:has_direct_input ], - [ sh:class gocam:ProvenanceInfo ; - sh:description "Provenance information for the activity" ; + [ sh:class gocam:BiologicalProcessAssociation ; + sh:description "The larger biological process in which the activity is a part" ; + sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 7 ; - sh:path gocam:provenances ], + sh:order 4 ; + sh:path gocam:part_of ], [ sh:class gocam:CellularAnatomicalEntityAssociation ; sh:description "The cellular location in which the activity occurs" ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; sh:path gocam:occurs_in ], - [ sh:class gocam:BiologicalProcessAssociation ; - sh:description "The larger biological process in which the activity is a part" ; - sh:maxCount 1 ; + [ sh:class gocam:ProvenanceInfo ; + sh:description "Provenance information for the activity" ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path gocam:part_of ], + sh:order 8 ; + sh:path gocam:provenances ], [ sh:class gocam:EnabledByAssociation ; sh:description "The gene product or complex that carries out the activity" ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 1 ; sh:path gocam:enabled_by ], - [ sh:class gocam:CausalAssociation ; - sh:description "The causal associations that connect this activity to other activities" ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 6 ; - sh:path gocam:causal_associations ], [ sh:datatype xsd:anyURI ; sh:description "Identifier of the activity unit. Should be in gocam namespace." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; - sh:path gocam:id ], - [ sh:class gocam:MolecularFunctionAssociation ; - sh:description "The molecular function that is carried out by the gene product or complex" ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path gocam:molecular_function ] ; + sh:path gocam:id ] ; sh:targetClass gocam:Activity . gocam:GeneProductTermObject a sh:NodeShape ; @@ -824,21 +805,46 @@ gocam:GeneProductTermObject a sh:NodeShape ; sh:path gocam:obsolete ] ; sh:targetClass gocam:GeneProductTermObject . -gocam:Object a sh:NodeShape ; +gocam:MoleculeAssociation a sh:NodeShape ; sh:closed true ; - sh:description "An abstract class for all identified objects in a model" ; + sh:description "An association between an activity and a molecule term" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; + sh:property [ sh:class gocam:EvidenceItem ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path gocam:evidence ], + [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; - sh:path ], - [ sh:datatype xsd:anyURI ; + sh:path gocam:type ], + [ sh:class gocam:ProvenanceInfo ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path gocam:provenances ], + [ sh:class gocam:MoleculeTermObject ; + sh:description "The ontology term that describes the nature of the association" ; + sh:maxCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 0 ; + sh:path gocam:term ] ; + sh:targetClass gocam:MoleculeAssociation . + +gocam:Object a sh:NodeShape ; + sh:closed true ; + sh:description "An abstract class for all identified objects in a model" ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path gocam:id ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path ], [ sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -855,7 +861,12 @@ gocam:EvidenceItem a sh:NodeShape ; sh:closed true ; sh:description "An individual piece of evidence that is associated with an assertion in a model" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class gocam:PublicationObject ; + sh:property [ sh:class gocam:Object ; + sh:description "Supporting database entities or terms" ; + sh:nodeKind sh:IRI ; + sh:order 2 ; + sh:path gocam:with_objects ], + [ sh:class gocam:PublicationObject ; sh:description "The publication of reference that describes the evidence" ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; @@ -867,11 +878,6 @@ gocam:EvidenceItem a sh:NodeShape ; sh:nodeKind sh:IRI ; sh:order 0 ; sh:path gocam:term ], - [ sh:class gocam:Object ; - sh:description "Supporting database entities or terms" ; - sh:nodeKind sh:IRI ; - sh:order 2 ; - sh:path gocam:with_objects ], [ sh:class gocam:ProvenanceInfo ; sh:description "Provenance about the assertion, e.g. who made it" ; sh:nodeKind sh:BlankNodeOrIRI ; @@ -886,8 +892,8 @@ gocam:ProvenanceInfo a sh:NodeShape ; sh:property [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path ], + sh:order 3 ; + sh:path pav:providedBy ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -896,8 +902,8 @@ gocam:ProvenanceInfo a sh:NodeShape ; [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path pav:providedBy ], + sh:order 0 ; + sh:path ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; diff --git a/project/shex/gocam.shex b/project/shex/gocam.shex index 31ac642..d9eef46 100644 --- a/project/shex/gocam.shex +++ b/project/shex/gocam.shex @@ -52,6 +52,7 @@ linkml:Sparqlpath xsd:string @ ? ; @ ? ; @ ? ; + @ ? ; @ * ; @ * ) ; diff --git a/project/sqlschema/gocam.sql b/project/sqlschema/gocam.sql index a252c26..bcbc938 100644 --- a/project/sqlschema/gocam.sql +++ b/project/sqlschema/gocam.sql @@ -11,6 +11,7 @@ -- * Slot: occurs_in_id Description: The cellular location in which the activity occurs -- * Slot: part_of_id Description: The larger biological process in which the activity is a part -- * Slot: has_direct_input_id Description: The input molecules that are directly consumed by the activity +-- * Slot: has_direct_output_id Description: The output molecules that are directly produced by the activity -- # Class: "EvidenceItem" Description: "An individual piece of evidence that is associated with an assertion in a model" -- * Slot: id Description: -- * Slot: term Description: The ECO term representing the type of evidence @@ -388,13 +389,15 @@ CREATE TABLE "Activity" ( occurs_in_id INTEGER, part_of_id INTEGER, has_direct_input_id INTEGER, + has_direct_output_id INTEGER, PRIMARY KEY (id), FOREIGN KEY("Model_id") REFERENCES "Model" (id), FOREIGN KEY(enabled_by_id) REFERENCES "EnabledByAssociation" (id), FOREIGN KEY(molecular_function_id) REFERENCES "MolecularFunctionAssociation" (id), FOREIGN KEY(occurs_in_id) REFERENCES "CellularAnatomicalEntityAssociation" (id), FOREIGN KEY(part_of_id) REFERENCES "BiologicalProcessAssociation" (id), - FOREIGN KEY(has_direct_input_id) REFERENCES "MoleculeAssociation" (id) + FOREIGN KEY(has_direct_input_id) REFERENCES "MoleculeAssociation" (id), + FOREIGN KEY(has_direct_output_id) REFERENCES "MoleculeAssociation" (id) ); CREATE TABLE "Object" ( id TEXT NOT NULL, diff --git a/src/gocam/datamodel/gocam.py b/src/gocam/datamodel/gocam.py index ff6f6e3..cb8561f 100644 --- a/src/gocam/datamodel/gocam.py +++ b/src/gocam/datamodel/gocam.py @@ -98,6 +98,7 @@ class Activity(ConfiguredBaseModel): occurs_in: Optional[CellularAnatomicalEntityAssociation] = Field(None, description="""The cellular location in which the activity occurs""") part_of: Optional[BiologicalProcessAssociation] = Field(None, description="""The larger biological process in which the activity is a part""") has_direct_input: Optional[MoleculeAssociation] = Field(None, description="""The input molecules that are directly consumed by the activity""") + has_direct_output: Optional[MoleculeAssociation] = Field(None, description="""The output molecules that are directly produced by the activity""") causal_associations: Optional[List[CausalAssociation]] = Field(default_factory=list, description="""The causal associations that connect this activity to other activities""") provenances: Optional[List[ProvenanceInfo]] = Field(default_factory=list, description="""Provenance information for the activity""")