From c447d3589add73ef306c7eb8168b4a15ecee0cae Mon Sep 17 00:00:00 2001 From: Patrick Kalita Date: Fri, 13 Sep 2024 15:32:41 -0700 Subject: [PATCH] Regenerate artifacts --- project/excel/gocam.xlsx | Bin 17953 -> 17962 bytes project/gocam.py | 38 +- project/graphql/gocam.graphql | 6 +- project/jsonld/gocam.context.jsonld | 18 +- project/jsonld/gocam.jsonld | 76 +++- project/jsonschema/gocam.schema.json | 22 +- project/owl/gocam.owl.ttl | 516 +++++++++++----------- project/protobuf/gocam.proto | 6 +- project/shacl/gocam.shacl.ttl | 630 ++++++++++++++------------- project/shex/gocam.shex | 6 +- project/sqlschema/gocam.sql | 123 +++--- 11 files changed, 786 insertions(+), 655 deletions(-) diff --git a/project/excel/gocam.xlsx b/project/excel/gocam.xlsx index ddf8c51fd93b99d4a2d649662b16ca66e103d990..57b3e6b14e28886ba5ce172d428dc9274fbba0cc 100644 GIT binary patch delta 1958 zcmZ43!?>!4kvG7bnMH(wfq{eJPPOht-hK5zDpG$(sm(i};Aut%20aQQPu3 z^kg3Y|C}DZa;x|*?jJH%{f$yR-3PbnalO5MbK(i^h86u8p*lhjgLb@c3Y{|VAwyjK zOa4-a2R&;KC}}SCIH+;vZ_b%>UW?P0{^xnCVj#7_wYyJgiYsUMG=m#I(hpBL^F(0w z%vZnny;$ApEj{(aw=X}8bmyDvO)8Qyj+E9dad3^D@YwaA$rjT)BCkKcdCxS+LFIYFZOfgrq8PV?Em=Hu?oQxQgwf4 z|6xK2rOmGy?bw)s;j~$YL!LP)V%b2oy}cQ(ouIHQ;H8 zXZ^@<_T`eTp{yRSUzT27vg+!#`6n7IU3`;X&DgZ>uh6-rS6QysB}&)tOPt($1#gSAIh&Twwmj1WaZS#pYmRE;Y@|>E7PyOa*4d4r@QIow*#(j z%@S`vGz!~CaQ`W5Y&&LSTkrS1&3*676r&YNuM?a7HSB*gu!PD!GP$+r^Q@RdH=e!R z{`m86UBk*hmn?qq7YWT?*)eZ%(e)=UwXU_WWp^qn*u)j~9y{W(aMJYH3twzARqRjw z{%}3`|H3_7HtSCQxz<}!Sv5_KcbkDk<&uwL<+io8`X7Z@x_UBwEX<-)N=1_DPd!)> zD|2ab!G_lpJh|?scsc!Bv9juU?Zzj)d|J)Ek$cYuyjDFGByl34;dEKS<&?A+r&VXY zs!E7|W%(kD^Ht;0C1q?os^0*Gq!m1)~58ky{7of_ueJE z&FsNV-$SxH?jJh;;Cpv*Y89{dgRDR7!HLd~zh&=o|4lnvt zmcG3!zzIl^Q%KVJb9wF>gG8bNE}TqXi!Yl?t&Ssy4hJ5Ny!C0 zBu=bBD#W`n%gl@7fo|Rc3Hr5; z1_KR^syvee#YHD;*$INp5U`hK+QSPLDzFoj2kEtt|7e^7)cX)aukYjqcIselr|hJe zo(q7r@e8u@2Y53wi7>+p*U2DLyM;i~BIcmd0h_#x2v~cEJ;EVtMZrSnph5)>(oA;Z zKq2YLQVu*|dqF}MfW?lu*yI=oh(?f5k`!2IF;pngNt)@4G+5{rROla2Rii9ONW=u2 zi-1}fRVODpYJjZ)8L&wKY`}g;h&3P~dnK?Cn-fClj51ir7fC2m6)ZFbN$8o{9Ic+A^IH_VsFmg*G6B7^NmZa7H+LxgJ=-1wG7I z0a>awBpXiz`zenXh6Dwaqr{;S2?gT6J4bl8z!%H)dcfyx=J(swVEtoEjpRo LO@M8M4M-ON_qgsA delta 1915 zcmZuxXHZjF6wV6cNEHYzK^+!FM{q#gs4IvOkU?om5h+S9PZyPr z6lKL7<}rdw(S<=4P*^)Qq}k%)Ac&~5u3pxv9b9tSe9x()l4*Cc(9gnf zli_mS(oXY;mio&5=Q}SvZ?84qVY`HuGx=?{p+0ze*>#uxiYaPyO*1{O*HQt4=r%T?`!}v0XZltpw=K}$}FN9=Fz2~x}j>+pJxj2yoO$)<(in# zkZkyASTR>4O+@+vjd)cXP@%2J{&TGtsBH1kbVXeq&Xp5S+=E}V{W6nhO1!weFY9$t z@|Tj$)Y3h<-Gici@n+ll9Rv337a8bxs?Y~|H?F@4Win>gsX-Mb%lCacar+eiH_R(_%y@#Js)k^Z9t>)rV( zkG0=P#ve?$^y#&eH%(@jR0oPHYscO{aSOfsQ*guZHsaV+){aISpMs5Z%*?t+HR*8& z%6f+GeCv&|7CbBXC)9sJ<&!YbJc{d|Q2tge*C9Sme^ODm$8q3PYGcS*+dmUGn6v+y zJ-jiOxiYLutFY#_wdefU+gE4eTYt?q5NC$^w3~T9weHCe=nh`K?fIM6MSkT69|nuh z@j83VT!$W(L&WX(%?+ClY*23yd*z8tTGR4rk3Y=c%+M$tzHZ%|#5-PZ=piOoNzzqj z!y+HJ^nVn^C4bywC-nfK;ap#5OO`Ed1vm2dc6FjFuM|{cQ5H@M}n)XWMZ&fh}5P$VT{AXID zLY8jP#M6N5MU`@|Y3JaSgLF0$PLoowfT$;>9Hi&sau72E|H;vp>OxF5vYi!(D`3Hx zp)7#a-AG8(ie0kooRKVxWU{4!E0>Mvn#cv!rgDMhYPq1DBMS-yB&3rgRmU_2*WgLS zl`HM@4iCl~-n;e)5%@H0{R-TS9-A8gK(g(R;FM(!b$Fvqjts0zO6 zYyviypaRx3*p;ONhto*vi^*8}mM%yKy5L)4kRKgDm!wdG8-ple0BFhuKS8O|BeziW z1XKkALGOF}=z1(EMjsH@x#DtIEt7>pjQ?zorl5;(gR3d%6eHTK0JZ9Fvf2(K0Qt&6 z-fRGs$U)DIVV*z-9+QK_rU2r&%d|eP!XPSm3l}?qZJ)vcCG8v%+~$tY6N4${7+fIu zAq17eT!E}>4i}W=2yklxYHTA!s5On~a2HzB%mc&+Ql+;7hU2ES1VT)R#i7HoA%Tbf zXPkab>m?aCP-AsaH5GZIpu8Y`ALV&K1uro5W~ diff --git a/project/gocam.py b/project/gocam.py index 5838bcd..1d81ec4 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-30T10:47:21 +# Generation date: 2024-09-13T15:30:52 # Schema: gocam # # id: https://w3id.org/gocam @@ -211,8 +211,10 @@ class Activity(YAMLRoot): molecular_function: Optional[Union[dict, "MolecularFunctionAssociation"]] = None 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 + has_input: Optional[Union[Union[dict, "MoleculeAssociation"], List[Union[dict, "MoleculeAssociation"]]]] = empty_list() + has_primary_input: Optional[Union[dict, "MoleculeAssociation"]] = None + has_output: Optional[Union[Union[dict, "MoleculeAssociation"], List[Union[dict, "MoleculeAssociation"]]]] = empty_list() + has_primary_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() @@ -234,11 +236,19 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.part_of is not None and not isinstance(self.part_of, BiologicalProcessAssociation): self.part_of = BiologicalProcessAssociation(**as_dict(self.part_of)) - 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 not isinstance(self.has_input, list): + self.has_input = [self.has_input] if self.has_input is not None else [] + self.has_input = [v if isinstance(v, MoleculeAssociation) else MoleculeAssociation(**as_dict(v)) for v in self.has_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 self.has_primary_input is not None and not isinstance(self.has_primary_input, MoleculeAssociation): + self.has_primary_input = MoleculeAssociation(**as_dict(self.has_primary_input)) + + if not isinstance(self.has_output, list): + self.has_output = [self.has_output] if self.has_output is not None else [] + self.has_output = [v if isinstance(v, MoleculeAssociation) else MoleculeAssociation(**as_dict(v)) for v in self.has_output] + + if self.has_primary_output is not None and not isinstance(self.has_primary_output, MoleculeAssociation): + self.has_primary_output = MoleculeAssociation(**as_dict(self.has_primary_output)) if not isinstance(self.causal_associations, list): self.causal_associations = [self.causal_associations] if self.causal_associations is not None else [] @@ -1176,11 +1186,17 @@ class slots: slots.activity__part_of = Slot(uri=GOCAM.part_of, name="activity__part_of", curie=GOCAM.curie('part_of'), model_uri=GOCAM.activity__part_of, domain=None, range=Optional[Union[dict, BiologicalProcessAssociation]]) -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_input = Slot(uri=GOCAM.has_input, name="activity__has_input", curie=GOCAM.curie('has_input'), + model_uri=GOCAM.activity__has_input, domain=None, range=Optional[Union[Union[dict, MoleculeAssociation], List[Union[dict, MoleculeAssociation]]]]) + +slots.activity__has_primary_input = Slot(uri=GOCAM.has_primary_input, name="activity__has_primary_input", curie=GOCAM.curie('has_primary_input'), + model_uri=GOCAM.activity__has_primary_input, domain=None, range=Optional[Union[dict, MoleculeAssociation]]) + +slots.activity__has_output = Slot(uri=GOCAM.has_output, name="activity__has_output", curie=GOCAM.curie('has_output'), + model_uri=GOCAM.activity__has_output, domain=None, range=Optional[Union[Union[dict, MoleculeAssociation], List[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__has_primary_output = Slot(uri=GOCAM.has_primary_output, name="activity__has_primary_output", curie=GOCAM.curie('has_primary_output'), + model_uri=GOCAM.activity__has_primary_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 6c0563f..1da0942 100644 --- a/project/graphql/gocam.graphql +++ b/project/graphql/gocam.graphql @@ -6,8 +6,10 @@ type Activity molecularFunction: MolecularFunctionAssociation occursIn: CellularAnatomicalEntityAssociation partOf: BiologicalProcessAssociation - hasDirectInput: MoleculeAssociation - hasDirectOutput: MoleculeAssociation + hasInput: [MoleculeAssociation] + hasPrimaryInput: MoleculeAssociation + hasOutput: [MoleculeAssociation] + hasPrimaryOutput: MoleculeAssociation causalAssociations: [CausalAssociation] provenances: [ProvenanceInfo] } diff --git a/project/jsonld/gocam.context.jsonld b/project/jsonld/gocam.context.jsonld index 5a3f34e..4dfda7f 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-30T10:47:20", + "generation_date": "2024-09-13T15:30:51", "source": "gocam.yaml" }, "@context": { @@ -59,13 +59,21 @@ "@type": "@id", "@id": "enabled_by" }, - "has_direct_input": { + "has_input": { "@type": "@id", - "@id": "has_direct_input" + "@id": "has_input" }, - "has_direct_output": { + "has_output": { "@type": "@id", - "@id": "has_direct_output" + "@id": "has_output" + }, + "has_primary_input": { + "@type": "@id", + "@id": "has_primary_input" + }, + "has_primary_output": { + "@type": "@id", + "@id": "has_primary_output" }, "id": "@id", "molecular_function": { diff --git a/project/jsonld/gocam.jsonld b/project/jsonld/gocam.jsonld index 52bd934..3aed5d1 100644 --- a/project/jsonld/gocam.jsonld +++ b/project/jsonld/gocam.jsonld @@ -690,11 +690,27 @@ "@type": "SlotDefinition" }, { - "name": "activity__has_direct_input", + "name": "activity__has_input", "description": "The input molecules that are directly consumed by the activity", "from_schema": "https://w3id.org/gocam", - "slot_uri": "https://w3id.org/gocam/has_direct_input", - "alias": "has_direct_input", + "slot_uri": "https://w3id.org/gocam/has_input", + "multivalued": true, + "alias": "has_input", + "owner": "Activity", + "domain_of": [ + "Activity" + ], + "range": "MoleculeAssociation", + "inlined": true, + "inlined_as_list": true, + "@type": "SlotDefinition" + }, + { + "name": "activity__has_primary_input", + "description": "The primary input molecule that is directly consumed by the activity", + "from_schema": "https://w3id.org/gocam", + "slot_uri": "https://w3id.org/gocam/has_primary_input", + "alias": "has_primary_input", "owner": "Activity", "domain_of": [ "Activity" @@ -704,11 +720,27 @@ "@type": "SlotDefinition" }, { - "name": "activity__has_direct_output", + "name": "activity__has_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", + "slot_uri": "https://w3id.org/gocam/has_output", + "multivalued": true, + "alias": "has_output", + "owner": "Activity", + "domain_of": [ + "Activity" + ], + "range": "MoleculeAssociation", + "inlined": true, + "inlined_as_list": true, + "@type": "SlotDefinition" + }, + { + "name": "activity__has_primary_output", + "description": "The primary output molecule that is directly produced by the activity", + "from_schema": "https://w3id.org/gocam", + "slot_uri": "https://w3id.org/gocam/has_primary_output", + "alias": "has_primary_output", "owner": "Activity", "domain_of": [ "Activity" @@ -1387,8 +1419,10 @@ "activity__molecular_function", "activity__occurs_in", "activity__part_of", - "activity__has_direct_input", - "activity__has_direct_output", + "activity__has_input", + "activity__has_primary_input", + "activity__has_output", + "activity__has_primary_output", "activity__causal_associations", "activity__provenances" ], @@ -1436,15 +1470,31 @@ "@type": "SlotDefinition" }, { - "name": "has_direct_input", + "name": "has_input", "description": "The input molecules that are directly consumed by the activity", + "multivalued": true, + "range": "MoleculeAssociation", + "inlined_as_list": true, + "@type": "SlotDefinition" + }, + { + "name": "has_primary_input", + "description": "The primary input molecule that is directly consumed by the activity", "range": "MoleculeAssociation", "inlined": true, "@type": "SlotDefinition" }, { - "name": "has_direct_output", + "name": "has_output", "description": "The output molecules that are directly produced by the activity", + "multivalued": true, + "range": "MoleculeAssociation", + "inlined_as_list": true, + "@type": "SlotDefinition" + }, + { + "name": "has_primary_output", + "description": "The primary output molecule that is directly produced by the activity", "range": "MoleculeAssociation", "inlined": true, "@type": "SlotDefinition" @@ -2160,9 +2210,9 @@ ], "metamodel_version": "1.7.0", "source_file": "gocam.yaml", - "source_file_date": "2024-08-29T14:40:00", - "source_file_size": 13355, - "generation_date": "2024-08-30T10:47:20", + "source_file_date": "2024-09-13T14:36:24", + "source_file_size": 13755, + "generation_date": "2024-09-13T15:30:51", "@type": "SchemaDefinition", "@context": [ "project/jsonld/gocam.context.jsonld", diff --git a/project/jsonschema/gocam.schema.json b/project/jsonschema/gocam.schema.json index a30c6b0..222d713 100644 --- a/project/jsonschema/gocam.schema.json +++ b/project/jsonschema/gocam.schema.json @@ -22,13 +22,27 @@ ], "description": "The gene product or complex that carries out the activity" }, - "has_direct_input": { + "has_input": { + "description": "The input molecules that are directly consumed by the activity", + "items": { + "$ref": "#/$defs/MoleculeAssociation" + }, + "type": "array" + }, + "has_output": { + "description": "The output molecules that are directly produced by the activity", + "items": { + "$ref": "#/$defs/MoleculeAssociation" + }, + "type": "array" + }, + "has_primary_input": { "$ref": "#/$defs/MoleculeAssociation", - "description": "The input molecules that are directly consumed by the activity" + "description": "The primary input molecule that is directly consumed by the activity" }, - "has_direct_output": { + "has_primary_output": { "$ref": "#/$defs/MoleculeAssociation", - "description": "The output molecules that are directly produced by the activity" + "description": "The primary output molecule that is directly produced by the activity" }, "id": { "description": "Identifier of the activity unit. Should be in gocam namespace.", diff --git a/project/owl/gocam.owl.ttl b/project/owl/gocam.owl.ttl index 88637d4..c07c2c6 100644 --- a/project/owl/gocam.owl.ttl +++ b/project/owl/gocam.owl.ttl @@ -11,65 +11,65 @@ gocam:Model a owl:Class, linkml:ClassDefinition ; rdfs:label "Model" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:taxon ], + owl:allValuesFrom gocam:Activity ; + owl:onProperty gocam:activities ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty gocam:title ], - [ a owl:Restriction ; - owl:minCardinality 0 ; owl:onProperty gocam:status ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty gocam:title ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty gocam:id ], - [ a owl:Restriction ; - owl:allValuesFrom gocam:Activity ; + owl:minCardinality 0 ; owl:onProperty gocam:activities ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty gocam:status ], [ a owl:Restriction ; owl:allValuesFrom gocam:Object ; owl:onProperty gocam:objects ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty gocam:comments ], + owl:onProperty gocam:title ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:objects ], + owl:maxCardinality 1 ; + owl:onProperty gocam:id ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty gocam:title ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty gocam:provenances ], + owl:onProperty gocam:taxon ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty gocam:id ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom gocam:ModelStateEnum ; + owl:onProperty gocam:status ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty gocam:title ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:activities ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty gocam:id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 0 ; owl:onProperty gocam:comments ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty gocam:id ], + owl:onProperty gocam:taxon ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty gocam:status ], + owl:allValuesFrom gocam:ProvenanceInfo ; + owl:onProperty gocam:provenances ], [ a owl:Restriction ; owl:allValuesFrom gocam:TaxonTermObject ; owl:onProperty gocam:taxon ], [ a owl:Restriction ; - owl:allValuesFrom gocam:ModelStateEnum ; - owl:onProperty gocam:status ], + owl:minCardinality 0 ; + owl:onProperty gocam:provenances ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty gocam:taxon ], + owl:minCardinality 0 ; + owl:onProperty gocam:objects ], [ a owl:Restriction ; - owl:allValuesFrom gocam:ProvenanceInfo ; - owl:onProperty gocam:provenances ] ; + owl:allValuesFrom linkml:String ; + owl:onProperty gocam:comments ] ; 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:maxCardinality 1 ; + owl:onProperty gocam:term ], + [ a owl:Restriction ; + owl:allValuesFrom gocam:EvidenceTermObject ; + owl:onProperty gocam:term ], + [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty gocam:provenances ], [ a owl:Restriction ; - owl:allValuesFrom gocam:PublicationObject ; - owl:onProperty gocam:reference ], + owl:allValuesFrom gocam:Object ; + owl:onProperty gocam:with_objects ], [ 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:term ], - [ a owl:Restriction ; - owl:allValuesFrom gocam:EvidenceTermObject ; - owl:onProperty gocam:term ], + owl:onProperty gocam:reference ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom gocam:PublicationObject ; owl:onProperty gocam:reference ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:with_objects ], + owl:allValuesFrom gocam:ProvenanceInfo ; + owl:onProperty gocam:provenances ], [ a owl:Restriction ; - owl:allValuesFrom gocam:Object ; + owl:minCardinality 0 ; owl:onProperty gocam:with_objects ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty gocam:term ] ; skos:definition "An individual piece of evidence that is associated with an assertion in a model" ; skos:inScheme . @@ -168,80 +168,92 @@ gocam:Activity a owl:Class, linkml:ClassDefinition ; rdfs:label "Activity" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom gocam:EnabledByAssociation ; + owl:onProperty gocam:enabled_by ], + [ a owl:Restriction ; + owl:allValuesFrom gocam:ProvenanceInfo ; + owl:onProperty gocam:provenances ], + [ a owl:Restriction ; + owl:allValuesFrom gocam:BiologicalProcessAssociation ; owl:onProperty gocam:part_of ], [ a owl:Restriction ; - owl:allValuesFrom gocam:CausalAssociation ; - owl:onProperty gocam:causal_associations ], + owl:allValuesFrom gocam:MolecularFunctionAssociation ; + owl:onProperty gocam:molecular_function ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty gocam:has_direct_output ], + owl:onProperty gocam:has_primary_output ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty gocam:id ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty gocam:enabled_by ], + owl:onProperty gocam:part_of ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty gocam:molecular_function ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty gocam:occurs_in ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty gocam:causal_associations ], + owl:onProperty gocam:has_primary_input ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty gocam:provenances ], + owl:onProperty gocam:has_output ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty gocam:has_direct_input ], + owl:onProperty gocam:causal_associations ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty gocam:id ], + owl:onProperty gocam:enabled_by ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty gocam:has_input ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty gocam:has_primary_input ], [ a owl:Restriction ; owl:allValuesFrom gocam:MoleculeAssociation ; - owl:onProperty gocam:has_direct_input ], + owl:onProperty gocam:has_primary_output ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty gocam:id ], + owl:minCardinality 0 ; + owl:onProperty gocam:enabled_by ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty gocam:has_primary_output ], [ a owl:Restriction ; owl:allValuesFrom gocam:CellularAnatomicalEntityAssociation ; owl:onProperty gocam:occurs_in ], [ a owl:Restriction ; - owl:allValuesFrom gocam:ProvenanceInfo ; + owl:minCardinality 0 ; owl:onProperty gocam:provenances ], [ a owl:Restriction ; - owl:allValuesFrom gocam:EnabledByAssociation ; - owl:onProperty gocam:enabled_by ], + owl:allValuesFrom gocam:MoleculeAssociation ; + owl:onProperty gocam:has_primary_input ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; + owl:minCardinality 0 ; + owl:onProperty gocam:occurs_in ], + [ a owl:Restriction ; + owl:minCardinality 1 ; owl:onProperty gocam:id ], [ a owl:Restriction ; - owl:allValuesFrom gocam:MolecularFunctionAssociation ; + owl:minCardinality 0 ; owl:onProperty gocam:molecular_function ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty gocam:has_direct_output ], + owl:allValuesFrom gocam:CausalAssociation ; + owl:onProperty gocam:causal_associations ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:part_of ], + owl:allValuesFrom gocam:MoleculeAssociation ; + owl:onProperty gocam:has_input ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty gocam:enabled_by ], - [ a owl:Restriction ; - owl:allValuesFrom gocam:BiologicalProcessAssociation ; owl:onProperty gocam:part_of ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty gocam:has_direct_input ], [ a owl:Restriction ; owl:allValuesFrom gocam:MoleculeAssociation ; - owl:onProperty gocam:has_direct_output ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:molecular_function ], + owl:onProperty gocam:has_output ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty gocam:occurs_in ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:occurs_in ] ; + owl:onProperty gocam:id ] ; 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 . @@ -250,10 +262,10 @@ gocam:EnabledByGeneProductAssociation a owl:Class, linkml:ClassDefinition ; rdfs:label "EnabledByGeneProductAssociation" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom gocam:GeneProductTermObject ; + owl:maxCardinality 1 ; owl:onProperty gocam:term ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom gocam:GeneProductTermObject ; owl:onProperty gocam:term ], [ a owl:Restriction ; owl:minCardinality 0 ; @@ -266,20 +278,20 @@ gocam:EnabledByProteinComplexAssociation a owl:Class, linkml:ClassDefinition ; rdfs:label "EnabledByProteinComplexAssociation" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom gocam:GeneProductTermObject ; - owl:onProperty gocam:members ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty gocam:term ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom gocam:GeneProductTermObject ; owl:onProperty gocam:members ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty gocam:term ], [ a owl:Restriction ; owl:allValuesFrom gocam:ProteinComplexTermObject ; owl:onProperty gocam:term ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty gocam:members ], gocam:EnabledByAssociation ; skos:definition "An association between an activity and a protein complex" ; skos:inScheme . @@ -332,6 +344,18 @@ gocam:evidence a owl:ObjectProperty, rdfs:label "evidence" ; skos:inScheme . +gocam:has_input a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "has_input" ; + skos:definition "The input molecules that are directly consumed by the activity" ; + skos:inScheme . + +gocam:has_output a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "has_output" ; + skos:definition "The output molecules that are directly produced by the activity" ; + skos:inScheme . + gocam:members a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "members" ; @@ -356,31 +380,31 @@ gocam:BiologicalProcessAssociation a owl:Class, linkml:ClassDefinition ; rdfs:label "BiologicalProcessAssociation" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom gocam:BiologicalProcessTermObject ; + owl:maxCardinality 1 ; owl:onProperty gocam:term ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty gocam:part_of ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom gocam:PhaseTermObject ; owl:onProperty gocam:happens_during ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty gocam:part_of ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty gocam:happens_during ], + owl:onProperty gocam:term ], [ a owl:Restriction ; - owl:allValuesFrom gocam:PhaseTermObject ; - owl:onProperty gocam:happens_during ], + owl:allValuesFrom gocam:BiologicalProcessTermObject ; + owl:onProperty gocam:term ], + [ a owl:Restriction ; + owl:allValuesFrom gocam:BiologicalProcessTermObject ; + owl:onProperty gocam:part_of ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty gocam:term ], + owl:onProperty gocam:happens_during ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty gocam:term ], + owl:onProperty gocam:happens_during ], [ a owl:Restriction ; - owl:allValuesFrom gocam:BiologicalProcessTermObject ; + owl:maxCardinality 1 ; owl:onProperty gocam:part_of ], gocam:TermAssociation ; skos:definition "An association between an activity and a biological process term" ; @@ -390,11 +414,14 @@ gocam:CausalAssociation a owl:Class, linkml:ClassDefinition ; rdfs:label "CausalAssociation" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom gocam:PredicateTermObject ; + owl:minCardinality 0 ; + owl:onProperty gocam:downstream_activity ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty gocam:predicate ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty gocam:downstream_activity ], + owl:allValuesFrom gocam:PredicateTermObject ; + owl:onProperty gocam:predicate ], [ a owl:Restriction ; owl:allValuesFrom gocam:Activity ; owl:onProperty gocam:downstream_activity ], @@ -402,10 +429,7 @@ gocam:CausalAssociation a owl:Class, owl:maxCardinality 1 ; owl:onProperty gocam:predicate ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:predicate ], - [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty gocam:downstream_activity ], gocam:Association ; skos:definition "A causal association between two activities" ; @@ -415,7 +439,7 @@ gocam:CellTypeAssociation a owl:Class, linkml:ClassDefinition ; rdfs:label "CellTypeAssociation" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty gocam:term ], [ a owl:Restriction ; owl:allValuesFrom gocam:GrossAnatomyAssociation ; @@ -424,13 +448,13 @@ gocam:CellTypeAssociation a owl:Class, owl:allValuesFrom gocam:CellTypeTermObject ; owl:onProperty gocam:term ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty gocam:part_of ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty gocam:term ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty gocam:part_of ], gocam:TermAssociation ; skos:definition "An association between an activity and a cell type term" ; @@ -448,18 +472,18 @@ gocam:CellularAnatomicalEntityAssociation a owl:Class, 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:CellTypeAssociation ; owl:onProperty gocam:part_of ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty gocam:part_of ], [ a owl:Restriction ; owl:allValuesFrom gocam:CellularAnatomicalEntityTermObject ; @@ -493,13 +517,13 @@ gocam:MolecularFunctionAssociation a owl:Class, linkml:ClassDefinition ; rdfs:label "MolecularFunctionAssociation" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty gocam:term ], [ a owl:Restriction ; owl:allValuesFrom gocam:MolecularFunctionTermObject ; owl:onProperty gocam:term ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty gocam:term ], gocam:TermAssociation ; skos:definition "An association between an activity and a molecular function term" ; @@ -544,8 +568,11 @@ gocam:PublicationObject a owl:Class, linkml:ClassDefinition ; rdfs:label "PublicationObject" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:full_text ], + owl:allValuesFrom linkml:String ; + owl:onProperty gocam:abstract_text ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty gocam:abstract_text ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty gocam:full_text ], @@ -556,11 +583,8 @@ gocam:PublicationObject a owl:Class, owl:maxCardinality 1 ; owl:onProperty gocam:full_text ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty gocam:abstract_text ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty gocam:abstract_text ], + owl:minCardinality 0 ; + owl:onProperty gocam:full_text ], gocam:Object ; skos:definition "An object that represents a publication or other kind of reference" ; skos:inScheme . @@ -610,16 +634,16 @@ gocam:full_text a owl:ObjectProperty, rdfs:label "full_text" ; skos:inScheme . -gocam:has_direct_input a owl:ObjectProperty, +gocam:has_primary_input a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "has_direct_input" ; - skos:definition "The input molecules that are directly consumed by the activity" ; + rdfs:label "has_primary_input" ; + skos:definition "The primary input molecule that is directly consumed by the activity" ; skos:inScheme . -gocam:has_direct_output a owl:ObjectProperty, +gocam:has_primary_output a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "has_direct_output" ; - skos:definition "The output molecules that are directly produced by the activity" ; + rdfs:label "has_primary_output" ; + skos:definition "The primary output molecule that is directly produced by the activity" ; skos:inScheme . gocam:label a owl:ObjectProperty, @@ -698,53 +722,31 @@ gocam:GrossAnatomyAssociation a owl:Class, linkml:ClassDefinition ; rdfs:label "GrossAnatomyAssociation" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom gocam:GrossAnatomicalStructureTermObject ; + owl:minCardinality 0 ; owl:onProperty gocam:term ], [ a owl:Restriction ; - owl:allValuesFrom gocam:GrossAnatomyAssociation ; + owl:minCardinality 0 ; owl:onProperty gocam:part_of ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty gocam:term ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom gocam:GrossAnatomyAssociation ; owl:onProperty gocam:part_of ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom gocam:GrossAnatomicalStructureTermObject ; owl:onProperty gocam:term ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; 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 molecule term" ; + skos:definition "An association between an activity and a gross anatomical structure term" ; skos:inScheme . gocam:ProvenanceInfo a owl:Class, linkml:ClassDefinition ; rdfs:label "ProvenanceInfo" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty gocam:provided_by ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty gocam:created ], - [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty gocam:provided_by ], [ a owl:Restriction ; @@ -752,28 +754,34 @@ gocam:ProvenanceInfo a owl:Class, owl:onProperty gocam:contributor ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty gocam:provided_by ], + owl:onProperty gocam:created ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty gocam:date ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 0 ; owl:onProperty gocam:contributor ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty gocam:provided_by ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty gocam:provided_by ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty gocam:created ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 0 ; owl:onProperty gocam:date ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty gocam:date ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:created ], + owl:allValuesFrom linkml:String ; + owl:onProperty gocam:contributor ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:contributor ] ; + owl:allValuesFrom linkml:String ; + owl:onProperty gocam:created ] ; skos:definition "Provenance information for an object" ; skos:inScheme . @@ -782,25 +790,25 @@ gocam:Association a owl:Class, rdfs:label "Association" ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty gocam:type ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty gocam:type ], + owl:onProperty gocam:evidence ], [ 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 ], + owl:onProperty gocam:type ], [ a owl:Restriction ; owl:allValuesFrom gocam:EvidenceItem ; owl:onProperty gocam:evidence ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty gocam:type ], [ a owl:Restriction ; owl:allValuesFrom gocam:ProvenanceInfo ; - owl:onProperty gocam:provenances ] ; + owl:onProperty gocam:provenances ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty gocam:type ] ; skos:definition "An abstract grouping for different kinds of evidence-associated provenance" ; skos:inScheme . @@ -808,10 +816,10 @@ gocam:EnabledByAssociation a owl:Class, linkml:ClassDefinition ; rdfs:label "EnabledByAssociation" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom gocam:InformationBiomacromoleculeTermObject ; owl:onProperty gocam:term ], [ a owl:Restriction ; - owl:allValuesFrom gocam:InformationBiomacromoleculeTermObject ; + owl:maxCardinality 1 ; owl:onProperty gocam:term ], [ a owl:Restriction ; owl:minCardinality 0 ; @@ -833,21 +841,28 @@ gocam:ModelStateEnum a owl:Class, linkml:permissible_values , . -gocam:Object a owl:Class, +gocam:MoleculeAssociation a owl:Class, linkml:ClassDefinition ; - rdfs:label "Object" ; + rdfs:label "MoleculeAssociation" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty gocam:label ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty gocam:label ], + owl:maxCardinality 1 ; + owl:onProperty gocam:term ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty gocam:type ], + owl:allValuesFrom gocam:MoleculeTermObject ; + owl:onProperty gocam:term ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty gocam:type ], + owl:onProperty gocam:term ], + gocam:TermAssociation ; + skos:definition "An association between an activity and a molecule term" ; + skos:inScheme . + +gocam:Object a owl:Class, + linkml:ClassDefinition ; + rdfs:label "Object" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty gocam:obsolete ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty gocam:id ], @@ -856,21 +871,30 @@ gocam:Object a owl:Class, owl:onProperty gocam:type ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty gocam:id ], + owl:onProperty gocam:label ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; + owl:onProperty gocam:obsolete ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty gocam:id ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; owl:onProperty gocam:obsolete ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty gocam:obsolete ], + owl:minCardinality 0 ; + owl:onProperty gocam:type ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty gocam:obsolete ], + owl:onProperty gocam:label ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; + owl:onProperty gocam:id ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty gocam:type ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; owl:onProperty gocam:label ] ; skos:definition "An abstract class for all identified objects in a model" ; skos:inScheme . @@ -887,13 +911,13 @@ gocam:TermAssociation a owl:Class, linkml:ClassDefinition ; rdfs:label "TermAssociation" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty gocam:term ], [ a owl:Restriction ; - owl:allValuesFrom gocam:TermObject ; + owl:maxCardinality 1 ; owl:onProperty gocam:term ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom gocam:TermObject ; owl:onProperty gocam:term ], gocam:Association ; skos:definition "An association between an activity and a term, potentially with extensions" ; @@ -948,9 +972,14 @@ 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:PublicationObject ; + rdfs:subClassOf gocam:TermAssociation ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:PublicationObject . + owl:someValuesFrom gocam:TermAssociation . + +[] a owl:Restriction ; + rdfs:subClassOf gocam:Object ; + owl:onProperty gocam:type ; + owl:someValuesFrom gocam:Object . [] a owl:Restriction ; rdfs:subClassOf gocam:CellTypeTermObject ; @@ -958,132 +987,127 @@ The central class in this datamodel is a [Model](Model.md). A model consists of owl:someValuesFrom gocam:CellTypeTermObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:BiologicalProcessAssociation ; + rdfs:subClassOf gocam:PredicateTermObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:BiologicalProcessAssociation . + owl:someValuesFrom gocam:PredicateTermObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:GeneProductTermObject ; + rdfs:subClassOf gocam:MoleculeAssociation ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:GeneProductTermObject . + owl:someValuesFrom gocam:MoleculeAssociation . [] a owl:Restriction ; - rdfs:subClassOf gocam:MoleculeTermObject ; + rdfs:subClassOf gocam:ProteinComplexTermObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:MoleculeTermObject . + owl:someValuesFrom gocam:ProteinComplexTermObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:EnabledByProteinComplexAssociation ; + rdfs:subClassOf gocam:EnabledByGeneProductAssociation ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:EnabledByProteinComplexAssociation . + owl:someValuesFrom gocam:EnabledByGeneProductAssociation . [] a owl:Restriction ; - rdfs:subClassOf gocam:Object ; + rdfs:subClassOf gocam:InformationBiomacromoleculeTermObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:Object . + owl:someValuesFrom gocam:InformationBiomacromoleculeTermObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:CellularAnatomicalEntityTermObject ; + rdfs:subClassOf gocam:GeneProductTermObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:CellularAnatomicalEntityTermObject . + owl:someValuesFrom gocam:GeneProductTermObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:GrossAnatomicalStructureTermObject ; + rdfs:subClassOf gocam:Association ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:GrossAnatomicalStructureTermObject . + owl:someValuesFrom gocam:Association . [] a owl:Restriction ; - rdfs:subClassOf gocam:EnabledByAssociation ; + rdfs:subClassOf gocam:GrossAnatomyAssociation ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:EnabledByAssociation . + owl:someValuesFrom gocam:GrossAnatomyAssociation . [] a owl:Restriction ; - rdfs:subClassOf gocam:TermObject ; + rdfs:subClassOf gocam:CellularAnatomicalEntityTermObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:TermObject . + owl:someValuesFrom gocam:CellularAnatomicalEntityTermObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:BiologicalProcessTermObject ; + rdfs:subClassOf gocam:CausalAssociation ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:BiologicalProcessTermObject . + owl:someValuesFrom gocam:CausalAssociation . [] a owl:Restriction ; - rdfs:subClassOf gocam:CellularAnatomicalEntityAssociation ; + rdfs:subClassOf gocam:GrossAnatomicalStructureTermObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:CellularAnatomicalEntityAssociation . + owl:someValuesFrom gocam:GrossAnatomicalStructureTermObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:PredicateTermObject ; + rdfs:subClassOf gocam:BiologicalProcessAssociation ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:PredicateTermObject . + owl:someValuesFrom gocam:BiologicalProcessAssociation . [] a owl:Restriction ; - rdfs:subClassOf gocam:GrossAnatomyAssociation ; + rdfs:subClassOf gocam:PublicationObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:GrossAnatomyAssociation . + owl:someValuesFrom gocam:PublicationObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:MoleculeAssociation ; + rdfs:subClassOf gocam:TermObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:MoleculeAssociation . + owl:someValuesFrom gocam:TermObject . [] a owl:Restriction ; rdfs:subClassOf gocam:PhaseTermObject ; owl:onProperty gocam:type ; owl:someValuesFrom gocam:PhaseTermObject . -[] a owl:Restriction ; - rdfs:subClassOf gocam:TaxonTermObject ; - owl:onProperty gocam:type ; - owl:someValuesFrom gocam:TaxonTermObject . - [] a owl:Restriction ; rdfs:subClassOf gocam:EvidenceTermObject ; owl:onProperty gocam:type ; owl:someValuesFrom gocam:EvidenceTermObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:CellTypeAssociation ; + rdfs:subClassOf gocam:MolecularFunctionTermObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:CellTypeAssociation . + owl:someValuesFrom gocam:MolecularFunctionTermObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:Association ; + rdfs:subClassOf gocam:EnabledByProteinComplexAssociation ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:Association . + owl:someValuesFrom gocam:EnabledByProteinComplexAssociation . [] a owl:Restriction ; - rdfs:subClassOf gocam:EnabledByGeneProductAssociation ; + rdfs:subClassOf gocam:BiologicalProcessTermObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:EnabledByGeneProductAssociation . + owl:someValuesFrom gocam:BiologicalProcessTermObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:MolecularFunctionAssociation ; + rdfs:subClassOf gocam:TaxonTermObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:MolecularFunctionAssociation . + owl:someValuesFrom gocam:TaxonTermObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:InformationBiomacromoleculeTermObject ; + rdfs:subClassOf gocam:MolecularFunctionAssociation ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:InformationBiomacromoleculeTermObject . + owl:someValuesFrom gocam:MolecularFunctionAssociation . [] a owl:Restriction ; - rdfs:subClassOf gocam:CausalAssociation ; + rdfs:subClassOf gocam:EnabledByAssociation ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:CausalAssociation . + owl:someValuesFrom gocam:EnabledByAssociation . [] a owl:Restriction ; - rdfs:subClassOf gocam:MolecularFunctionTermObject ; + rdfs:subClassOf gocam:MoleculeTermObject ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:MolecularFunctionTermObject . + owl:someValuesFrom gocam:MoleculeTermObject . [] a owl:Restriction ; - rdfs:subClassOf gocam:ProteinComplexTermObject ; + rdfs:subClassOf gocam:CellularAnatomicalEntityAssociation ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:ProteinComplexTermObject . + owl:someValuesFrom gocam:CellularAnatomicalEntityAssociation . [] a owl:Restriction ; - rdfs:subClassOf gocam:TermAssociation ; + rdfs:subClassOf gocam:CellTypeAssociation ; owl:onProperty gocam:type ; - owl:someValuesFrom gocam:TermAssociation . + owl:someValuesFrom gocam:CellTypeAssociation . diff --git a/project/protobuf/gocam.proto b/project/protobuf/gocam.proto index cfdd5a6..7f425c0 100644 --- a/project/protobuf/gocam.proto +++ b/project/protobuf/gocam.proto @@ -9,8 +9,10 @@ message Activity molecularFunctionAssociation molecularFunction = 0 cellularAnatomicalEntityAssociation occursIn = 0 biologicalProcessAssociation partOf = 0 - moleculeAssociation hasDirectInput = 0 - moleculeAssociation hasDirectOutput = 0 + repeated moleculeAssociation hasInput = 0 + moleculeAssociation hasPrimaryInput = 0 + repeated moleculeAssociation hasOutput = 0 + moleculeAssociation hasPrimaryOutput = 0 repeated causalAssociation causalAssociations = 0 repeated provenanceInfo provenances = 0 } diff --git a/project/shacl/gocam.shacl.ttl b/project/shacl/gocam.shacl.ttl index 1735046..110f613 100644 --- a/project/shacl/gocam.shacl.ttl +++ b/project/shacl/gocam.shacl.ttl @@ -8,7 +8,11 @@ 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:EvidenceItem ; + sh:property [ sh:class gocam:ProvenanceInfo ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path gocam:provenances ], + [ sh:class gocam:EvidenceItem ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 1 ; sh:path gocam:evidence ], @@ -16,26 +20,22 @@ gocam:Association a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; - sh:path gocam:type ], - [ sh:class gocam:ProvenanceInfo ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path gocam:provenances ] ; + sh:path gocam:type ] ; sh:targetClass gocam:Association . gocam:CellTypeAssociation a sh:NodeShape ; sh:closed true ; sh:description "An association between an activity and a cell type term" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class gocam:EvidenceItem ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path gocam:evidence ], - [ sh:datatype xsd:string ; + sh:property [ 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 ; + sh:path gocam:evidence ], [ sh:class gocam:ProvenanceInfo ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; @@ -58,10 +58,6 @@ gocam:EnabledByGeneProductAssociation a sh:NodeShape ; 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 ; @@ -70,18 +66,18 @@ gocam:EnabledByGeneProductAssociation a sh:NodeShape ; [ sh:class gocam:ProvenanceInfo ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; - sh:path gocam:provenances ] ; + sh:path gocam:provenances ], + [ sh:class gocam:EvidenceItem ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path gocam:evidence ] ; sh:targetClass gocam:EnabledByGeneProductAssociation . gocam:EnabledByProteinComplexAssociation a sh:NodeShape ; sh:closed true ; sh:description "An association between an activity and a protein complex" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class gocam:ProvenanceInfo ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path gocam:provenances ], - [ sh:class gocam:GeneProductTermObject ; + sh:property [ sh:class gocam:GeneProductTermObject ; sh:description "The gene products that are part of the complex" ; sh:nodeKind sh:IRI ; sh:order 0 ; @@ -92,6 +88,10 @@ gocam:EnabledByProteinComplexAssociation a sh:NodeShape ; sh:nodeKind sh:IRI ; sh:order 1 ; sh:path gocam:term ], + [ sh:class gocam:ProvenanceInfo ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path gocam:provenances ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -107,17 +107,7 @@ gocam:GrossAnatomyAssociation a sh:NodeShape ; sh:closed true ; sh:description "An association between an activity and a gross anatomical structure term" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class gocam:GrossAnatomicalStructureTermObject ; - 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:EvidenceItem ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path gocam:evidence ], - [ sh:class gocam:ProvenanceInfo ; + sh:property [ sh:class gocam:ProvenanceInfo ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; sh:path gocam:provenances ], @@ -125,83 +115,93 @@ gocam:GrossAnatomyAssociation a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; - sh:path gocam:type ] ; + sh:path gocam:type ], + [ sh:class gocam:EvidenceItem ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path gocam:evidence ], + [ sh:class gocam:GrossAnatomicalStructureTermObject ; + 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:GrossAnatomyAssociation . gocam:Model a sh:NodeShape ; sh:closed true ; sh:description "A model of a biological program consisting of a set of causally connected activities" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class gocam:ProvenanceInfo ; + sh:property [ 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: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:datatype xsd:string ; + sh:description "The human-readable descriptive title of the model" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path ], + [ sh:class gocam:ProvenanceInfo ; sh:description "Model-level provenance information" ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 7 ; sh:path gocam:provenances ], - [ 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: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 "The human-readable descriptive title of the model" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - 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: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:datatype xsd:string ; sh:description "Comments about the model" ; sh:nodeKind sh:Literal ; 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:path ] ; sh:targetClass gocam:Model . gocam:PhaseTermObject a sh:NodeShape ; sh:closed true ; 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:property [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path gocam:type ], - [ sh:datatype xsd:boolean ; + sh:order 1 ; + sh:path ], + [ 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:string ; + [ sh:datatype xsd:boolean ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path ] ; + sh:order 3 ; + sh:path gocam:obsolete ] ; sh:targetClass gocam:PhaseTermObject . gocam:TermAssociation a sh:NodeShape ; @@ -213,27 +213,36 @@ gocam:TermAssociation a sh:NodeShape ; 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:class gocam:EvidenceItem ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path gocam:evidence ], [ sh:class gocam:TermObject ; 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:EvidenceItem ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path gocam:evidence ], - [ sh:class gocam:ProvenanceInfo ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path gocam:provenances ] ; + sh:path gocam:term ] ; sh:targetClass gocam:TermAssociation . 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:class gocam:ProvenanceInfo ; + 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 gocam:type ], + [ sh:class gocam:ProvenanceInfo ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; sh:path gocam:provenances ], @@ -242,16 +251,7 @@ gocam:BiologicalProcessAssociation 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:class gocam:EvidenceItem ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path gocam:evidence ] ; + sh:path gocam:term ] ; sh:targetClass gocam:BiologicalProcessAssociation . gocam:BiologicalProcessTermObject a sh:NodeShape ; @@ -265,15 +265,15 @@ gocam:BiologicalProcessTermObject a sh:NodeShape ; sh:path ], [ sh:datatype xsd:anyURI ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path gocam:id ], + sh:order 2 ; + sh:path gocam:type ], [ 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:boolean ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -285,7 +285,13 @@ gocam:CausalAssociation a sh:NodeShape ; sh:closed true ; sh:description "A causal association between two activities" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; + sh:property [ sh:class gocam:Activity ; + sh:description "The activity unit that is downstream of this one" ; + sh:maxCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 1 ; + sh:path gocam:downstream_activity ], + [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; @@ -303,47 +309,45 @@ gocam:CausalAssociation a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; sh:order 0 ; - sh:path gocam:predicate ], - [ sh:class gocam:Activity ; - sh:description "The activity unit that is downstream of this one" ; - sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 1 ; - sh:path gocam:downstream_activity ] ; + sh:path gocam:predicate ] ; sh:targetClass gocam:CausalAssociation . 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:anyURI ; + sh:property [ 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:anyURI ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path gocam:id ], - [ sh:datatype xsd:boolean ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path gocam:obsolete ], + 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:anyURI ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path gocam:id ] ; sh:targetClass gocam:CellTypeTermObject . 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:CellularAnatomicalEntityTermObject ; + sh:property [ sh:class gocam:EvidenceItem ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path gocam:evidence ], + [ sh:class gocam:CellularAnatomicalEntityTermObject ; sh:description "The ontology term that describes the nature of the association" ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; @@ -357,117 +361,113 @@ gocam:CellularAnatomicalEntityAssociation a sh:NodeShape ; [ 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:path gocam:provenances ] ; 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:anyURI ; + sh:property [ 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:anyURI ; sh:maxCount 1 ; + sh:minCount 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:order 0 ; + sh:path gocam:id ], [ sh:datatype xsd:boolean ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; - sh:path gocam:obsolete ] ; + sh:path gocam:obsolete ], + [ sh:datatype xsd:anyURI ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path gocam:type ] ; 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:class gocam:EvidenceItem ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path gocam:evidence ], - [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path gocam:type ], - [ sh:class gocam:ProvenanceInfo ; + [ sh:class gocam:EvidenceItem ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path gocam:provenances ], + 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 ; sh:nodeKind sh:IRI ; sh:order 0 ; - sh:path gocam:term ] ; + sh:path gocam:term ], + [ sh:class gocam:ProvenanceInfo ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path gocam:provenances ] ; sh:targetClass gocam:EnabledByAssociation . gocam:EvidenceTermObject a sh:NodeShape ; sh:closed true ; sh:description "A term object that represents an evidence term from ECO" ; 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 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:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path gocam:type ], + 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:path gocam:id ] ; sh:targetClass gocam:EvidenceTermObject . gocam:GrossAnatomicalStructureTermObject a sh:NodeShape ; sh:closed true ; sh:description "A term object that represents a gross anatomical structure term from UBERON" ; 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: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:anyURI ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path gocam:id ], - [ sh:datatype xsd:boolean ; + [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path gocam:obsolete ] ; + sh:order 1 ; + sh:path ], + [ sh:datatype xsd:anyURI ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path gocam:type ] ; sh:targetClass gocam:GrossAnatomicalStructureTermObject . gocam:InformationBiomacromoleculeTermObject a sh:NodeShape ; @@ -501,106 +501,106 @@ 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:MolecularFunctionTermObject ; - sh:description "The ontology term that describes the nature of the association" ; + sh:property [ sh:datatype xsd:string ; 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:nodeKind sh:Literal ; + sh:order 1 ; + sh:path gocam:type ], [ sh:class gocam:EvidenceItem ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 2 ; sh:path gocam:evidence ], - [ sh:datatype xsd:string ; + [ sh:class gocam:ProvenanceInfo ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path gocam:provenances ], + [ sh:class gocam:MolecularFunctionTermObject ; + sh:description "The ontology term that describes the nature of the association" ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path gocam:type ] ; + sh:nodeKind sh:IRI ; + sh:order 0 ; + sh:path gocam:term ] ; 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:anyURI ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path gocam:id ], - [ sh:datatype xsd:anyURI ; + sh:property [ 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 ; sh:order 1 ; sh:path ], - [ sh:datatype xsd:boolean ; + [ sh:datatype xsd:anyURI ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path gocam:obsolete ] ; + 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:targetClass gocam:MolecularFunctionTermObject . 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:anyURI ; + sh:property [ sh:datatype xsd:boolean ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path gocam:type ], - [ sh:datatype xsd:string ; + sh:order 3 ; + sh:path gocam:obsolete ], + [ sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path ], + 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:boolean ; + [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path gocam:obsolete ] ; + sh:order 1 ; + sh:path ] ; sh:targetClass gocam:MoleculeTermObject . gocam:PredicateTermObject 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:boolean ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path gocam:obsolete ], - [ sh:datatype xsd:anyURI ; + sh:property [ 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: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:order 2 ; + sh:path gocam:type ] ; sh:targetClass gocam:PredicateTermObject . gocam:ProteinComplexTermObject a sh:NodeShape ; @@ -614,10 +614,9 @@ gocam:ProteinComplexTermObject a sh:NodeShape ; sh:path ], [ sh:datatype xsd:anyURI ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path gocam:id ], + sh:order 2 ; + sh:path gocam:type ], [ sh:datatype xsd:boolean ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -625,9 +624,10 @@ gocam:ProteinComplexTermObject 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:targetClass gocam:ProteinComplexTermObject . gocam:PublicationObject a sh:NodeShape ; @@ -639,32 +639,32 @@ gocam:PublicationObject a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path gocam:full_text ], - [ sh:datatype xsd:string ; + [ sh:datatype xsd:anyURI ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path ], + sh:order 2 ; + sh:path gocam:id ], [ sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path gocam:type ], - [ sh:datatype xsd:boolean ; + [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path gocam:obsolete ], + sh:order 3 ; + sh:path ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path gocam:abstract_text ], - [ sh:datatype xsd:anyURI ; + [ sh:datatype xsd:boolean ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path gocam:id ] ; + sh:order 5 ; + sh:path gocam:obsolete ] ; sh:targetClass gocam:PublicationObject . gocam:TaxonTermObject a sh:NodeShape ; @@ -676,6 +676,11 @@ gocam:TaxonTermObject 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:nodeKind sh:Literal ; @@ -685,12 +690,7 @@ gocam:TaxonTermObject a sh:NodeShape ; 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 ; - sh:order 3 ; - sh:path gocam:obsolete ] ; + sh:path gocam:type ] ; sh:targetClass gocam:TaxonTermObject . gocam:TermObject a sh:NodeShape ; @@ -702,98 +702,124 @@ gocam:TermObject a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path gocam:type ], - [ sh:datatype xsd:string ; + [ sh:datatype xsd:boolean ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path ], + 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:datatype xsd:boolean ; + [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path gocam:obsolete ] ; + sh:order 1 ; + sh:path ] ; 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:CausalAssociation ; + sh:property [ sh:class gocam:ProvenanceInfo ; + sh:description "Provenance information for the activity" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 10 ; + sh:path gocam:provenances ], + [ sh:class gocam:CausalAssociation ; sh:description "The causal associations that connect this activity to other activities" ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 7 ; + sh:order 9 ; 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: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 2 ; - sh:path gocam:molecular_function ], + sh:order 4 ; + sh:path gocam:part_of ], [ 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:order 7 ; + sh:path gocam:has_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:BiologicalProcessAssociation ; - sh:description "The larger biological process in which the activity is a part" ; + sh:path gocam:has_input ], + [ sh:class gocam:MoleculeAssociation ; + sh:description "The primary output molecule that is directly produced by the activity" ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path gocam:part_of ], + sh:order 8 ; + sh:path gocam:has_primary_output ], [ 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:ProvenanceInfo ; - sh:description "Provenance information for the activity" ; - sh:nodeKind sh:BlankNodeOrIRI ; - 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: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: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:path gocam:id ], + [ sh:class gocam:MoleculeAssociation ; + sh:description "The primary input molecule that is directly consumed by the activity" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 6 ; + sh:path gocam:has_primary_input ] ; sh:targetClass gocam:Activity . gocam:GeneProductTermObject a sh:NodeShape ; sh:closed true ; sh:description "A term object that represents a gene product term from GO 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 1 ; - sh:path ], + 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:datatype xsd:anyURI ; + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path ] ; + sh:targetClass gocam:GeneProductTermObject . + +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:nodeKind sh:Literal ; sh:order 2 ; @@ -802,8 +828,19 @@ gocam:GeneProductTermObject a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; - sh:path gocam:obsolete ] ; - sh:targetClass gocam:GeneProductTermObject . + sh:path gocam:obsolete ], + [ 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:targetClass gocam:Object . gocam:MoleculeAssociation a sh:NodeShape ; sh:closed true ; @@ -818,71 +855,44 @@ gocam:MoleculeAssociation a sh:NodeShape ; 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: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 ; - sh:order 2 ; - sh:path gocam:type ], - [ sh:datatype xsd:boolean ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; + sh:path gocam:term ], + [ sh:class gocam:ProvenanceInfo ; + sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; - sh:path gocam:obsolete ] ; - sh:targetClass gocam:Object . + sh:path gocam:provenances ] ; + sh:targetClass gocam:MoleculeAssociation . 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:Object ; - sh:description "Supporting database entities or terms" ; + sh:property [ sh:class gocam:EvidenceTermObject ; + sh:description "The ECO term representing the type of evidence" ; + sh:maxCount 1 ; sh:nodeKind sh:IRI ; - sh:order 2 ; - sh:path gocam:with_objects ], + sh:order 0 ; + sh:path gocam:term ], [ sh:class gocam:PublicationObject ; sh:description "The publication of reference that describes the evidence" ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; sh:order 1 ; sh:path gocam:reference ], - [ sh:class gocam:EvidenceTermObject ; - sh:description "The ECO term representing the type of evidence" ; - sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 0 ; - sh:path gocam:term ], [ sh:class gocam:ProvenanceInfo ; sh:description "Provenance about the assertion, e.g. who made it" ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; - sh:path gocam:provenances ] ; + sh:path gocam:provenances ], + [ sh:class gocam:Object ; + sh:description "Supporting database entities or terms" ; + sh:nodeKind sh:IRI ; + sh:order 2 ; + sh:path gocam:with_objects ] ; sh:targetClass gocam:EvidenceItem . gocam:ProvenanceInfo a sh:NodeShape ; @@ -892,22 +902,22 @@ gocam:ProvenanceInfo a sh:NodeShape ; sh:property [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path pav:providedBy ], + sh:order 2 ; + sh:path ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path ], + sh:order 0 ; + sh:path ], [ 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 ; - sh:order 2 ; - sh:path ] ; + sh:order 1 ; + sh:path ] ; sh:targetClass gocam:ProvenanceInfo . diff --git a/project/shex/gocam.shex b/project/shex/gocam.shex index d9eef46..4aa23b7 100644 --- a/project/shex/gocam.shex +++ b/project/shex/gocam.shex @@ -51,8 +51,10 @@ linkml:Sparqlpath xsd:string @ ? ; @ ? ; @ ? ; - @ ? ; - @ ? ; + @ * ; + @ ? ; + @ * ; + @ ? ; @ * ; @ * ) ; diff --git a/project/sqlschema/gocam.sql b/project/sqlschema/gocam.sql index bcbc938..9935e1d 100644 --- a/project/sqlschema/gocam.sql +++ b/project/sqlschema/gocam.sql @@ -10,8 +10,8 @@ -- * Slot: molecular_function_id Description: The molecular function that is carried out by the gene product or complex -- * 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 +-- * Slot: has_primary_input_id Description: The primary input molecule that is directly consumed by the activity +-- * Slot: has_primary_output_id Description: The primary output molecule that is 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 @@ -77,6 +77,7 @@ -- * Slot: id Description: -- * Slot: term Description: The ontology term that describes the nature of the association -- * Slot: type Description: +-- * Slot: Activity_id Description: Autocreated FK slot -- # Class: "Object" Description: "An abstract class for all identified objects in a model" -- * Slot: id Description: -- * Slot: label Description: @@ -191,11 +192,38 @@ -- * Slot: EnabledByProteinComplexAssociation_id Description: Autocreated FK slot -- * Slot: members_id Description: The gene products that are part of the complex +CREATE TABLE "Activity" ( + id TEXT NOT NULL, + "Model_id" TEXT, + enabled_by_id INTEGER, + molecular_function_id INTEGER, + occurs_in_id INTEGER, + part_of_id INTEGER, + has_primary_input_id INTEGER, + has_primary_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_primary_input_id) REFERENCES "MoleculeAssociation" (id), + FOREIGN KEY(has_primary_output_id) REFERENCES "MoleculeAssociation" (id) +); CREATE TABLE "Association" ( id INTEGER NOT NULL, type TEXT, PRIMARY KEY (id) ); +CREATE TABLE "MoleculeAssociation" ( + id INTEGER NOT NULL, + term TEXT, + type TEXT, + "Activity_id" TEXT, + PRIMARY KEY (id), + FOREIGN KEY(term) REFERENCES "MoleculeTermObject" (id), + FOREIGN KEY("Activity_id") REFERENCES "Activity" (id) +); CREATE TABLE "TermObject" ( id TEXT NOT NULL, label TEXT, @@ -332,6 +360,17 @@ CREATE TABLE "EnabledByProteinComplexAssociation" ( PRIMARY KEY (id), FOREIGN KEY(term) REFERENCES "ProteinComplexTermObject" (id) ); +CREATE TABLE "CausalAssociation" ( + id INTEGER NOT NULL, + predicate TEXT, + downstream_activity TEXT, + type TEXT, + "Activity_id" TEXT, + PRIMARY KEY (id), + FOREIGN KEY(predicate) REFERENCES "PredicateTermObject" (id), + FOREIGN KEY(downstream_activity) REFERENCES "Activity" (id), + FOREIGN KEY("Activity_id") REFERENCES "Activity" (id) +); CREATE TABLE "TermAssociation" ( id INTEGER NOT NULL, term TEXT, @@ -374,64 +413,6 @@ CREATE TABLE "GrossAnatomyAssociation" ( PRIMARY KEY (id), FOREIGN KEY(term) REFERENCES "GrossAnatomicalStructureTermObject" (id) ); -CREATE TABLE "MoleculeAssociation" ( - id INTEGER NOT NULL, - term TEXT, - type TEXT, - PRIMARY KEY (id), - FOREIGN KEY(term) REFERENCES "MoleculeTermObject" (id) -); -CREATE TABLE "Activity" ( - id TEXT NOT NULL, - "Model_id" TEXT, - enabled_by_id INTEGER, - molecular_function_id INTEGER, - 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_output_id) REFERENCES "MoleculeAssociation" (id) -); -CREATE TABLE "Object" ( - id TEXT NOT NULL, - label TEXT, - type TEXT, - obsolete BOOLEAN, - "Model_id" TEXT, - PRIMARY KEY (id), - FOREIGN KEY("Model_id") REFERENCES "Model" (id) -); -CREATE TABLE "Model_comments" ( - "Model_id" TEXT, - comments TEXT, - PRIMARY KEY ("Model_id", comments), - FOREIGN KEY("Model_id") REFERENCES "Model" (id) -); -CREATE TABLE "EnabledByProteinComplexAssociation_members" ( - "EnabledByProteinComplexAssociation_id" INTEGER, - members_id TEXT, - PRIMARY KEY ("EnabledByProteinComplexAssociation_id", members_id), - FOREIGN KEY("EnabledByProteinComplexAssociation_id") REFERENCES "EnabledByProteinComplexAssociation" (id), - FOREIGN KEY(members_id) REFERENCES "GeneProductTermObject" (id) -); -CREATE TABLE "CausalAssociation" ( - id INTEGER NOT NULL, - predicate TEXT, - downstream_activity TEXT, - type TEXT, - "Activity_id" TEXT, - PRIMARY KEY (id), - FOREIGN KEY(predicate) REFERENCES "PredicateTermObject" (id), - FOREIGN KEY(downstream_activity) REFERENCES "Activity" (id), - FOREIGN KEY("Activity_id") REFERENCES "Activity" (id) -); CREATE TABLE "EvidenceItem" ( id INTEGER NOT NULL, term TEXT, @@ -464,6 +445,28 @@ CREATE TABLE "EvidenceItem" ( FOREIGN KEY("GrossAnatomyAssociation_id") REFERENCES "GrossAnatomyAssociation" (id), FOREIGN KEY("MoleculeAssociation_id") REFERENCES "MoleculeAssociation" (id) ); +CREATE TABLE "Object" ( + id TEXT NOT NULL, + label TEXT, + type TEXT, + obsolete BOOLEAN, + "Model_id" TEXT, + PRIMARY KEY (id), + FOREIGN KEY("Model_id") REFERENCES "Model" (id) +); +CREATE TABLE "Model_comments" ( + "Model_id" TEXT, + comments TEXT, + PRIMARY KEY ("Model_id", comments), + FOREIGN KEY("Model_id") REFERENCES "Model" (id) +); +CREATE TABLE "EnabledByProteinComplexAssociation_members" ( + "EnabledByProteinComplexAssociation_id" INTEGER, + members_id TEXT, + PRIMARY KEY ("EnabledByProteinComplexAssociation_id", members_id), + FOREIGN KEY("EnabledByProteinComplexAssociation_id") REFERENCES "EnabledByProteinComplexAssociation" (id), + FOREIGN KEY(members_id) REFERENCES "GeneProductTermObject" (id) +); CREATE TABLE "ProvenanceInfo" ( id INTEGER NOT NULL, contributor TEXT,