From 6f1a0f0c39fe3c4342e9a261904c4678f447dcd7 Mon Sep 17 00:00:00 2001 From: Sabrina Toro Date: Thu, 28 Sep 2023 12:45:12 -0700 Subject: [PATCH] updated import for release --- src/ontology/imports/cob_import.owl | 4 +- src/ontology/imports/ncbitaxon_import.owl | 8 +- src/ontology/imports/omo_import.owl | 59 ++++- src/ontology/imports/ro_import.owl | 292 ++++++++++++++++------ src/ontology/imports/wikidata_import.owl | 4 +- 5 files changed, 282 insertions(+), 85 deletions(-) diff --git a/src/ontology/imports/cob_import.owl b/src/ontology/imports/cob_import.owl index a97d260..7a575fb 100644 --- a/src/ontology/imports/cob_import.owl +++ b/src/ontology/imports/cob_import.owl @@ -7,9 +7,9 @@ Prefix(rdfs:=) Ontology( - + Annotation( ) -Annotation(owl:versionInfo "2023-06-01") +Annotation(owl:versionInfo "2023-09-28") Declaration(Class()) Declaration(Class()) diff --git a/src/ontology/imports/ncbitaxon_import.owl b/src/ontology/imports/ncbitaxon_import.owl index 2061c5e..f81cbb3 100644 --- a/src/ontology/imports/ncbitaxon_import.owl +++ b/src/ontology/imports/ncbitaxon_import.owl @@ -7,9 +7,9 @@ Prefix(rdfs:=) Ontology( - -Annotation( ) -Annotation(owl:versionInfo "2023-06-01") + +Annotation( ) +Annotation(owl:versionInfo "2023-09-28") Declaration(Class()) Declaration(Class()) @@ -233,6 +233,8 @@ AnnotationAssertion(rdfs:label (root) AnnotationAssertion( "GC_ID:1") +AnnotationAssertion( "PMID:30365038") +AnnotationAssertion( "PMID:32761142") AnnotationAssertion( "ncbi_taxonomy") AnnotationAssertion(Annotation( ) "all") AnnotationAssertion( "NCBITaxon:1") diff --git a/src/ontology/imports/omo_import.owl b/src/ontology/imports/omo_import.owl index 3601115..fb731da 100644 --- a/src/ontology/imports/omo_import.owl +++ b/src/ontology/imports/omo_import.owl @@ -7,9 +7,9 @@ Prefix(rdfs:=) Ontology( - -Annotation( ) -Annotation(owl:versionInfo "2023-06-01") + +Annotation( ) +Annotation(owl:versionInfo "2023-09-28") Declaration(Class()) Declaration(Class()) @@ -58,6 +58,7 @@ Declaration(NamedIndividual()) Declaration(NamedIndividual()) Declaration(NamedIndividual()) Declaration(NamedIndividual()) +Declaration(NamedIndividual()) Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) @@ -100,6 +101,10 @@ Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) +Declaration(AnnotationProperty()) +Declaration(AnnotationProperty()) +Declaration(AnnotationProperty()) +Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) @@ -557,6 +562,44 @@ AnnotationAssertion( "UK spelling synonym") SubAnnotationPropertyOf( ) +# Annotation Property: (misspelling) + +AnnotationAssertion( "A synonym type for common misspellings") +AnnotationAssertion( ) +AnnotationAssertion( ) +AnnotationAssertion( "2023-03-03"^^xsd:date) +AnnotationAssertion(rdfs:label "misspelling") +SubAnnotationPropertyOf( ) + +# Annotation Property: (misnomer) + +AnnotationAssertion( "A synonym type for misnomers, i.e., a synonym that is not technically correct but is commonly used anyway") +AnnotationAssertion( ) +AnnotationAssertion( ) +AnnotationAssertion( "2023-03-03"^^xsd:date) +AnnotationAssertion(rdfs:label "misnomer") +SubAnnotationPropertyOf( ) + +# Annotation Property: (previous name) + +AnnotationAssertion( "MAPT, the gene that encodes the Tau protein, has a previous name DDPAC. Note: in this case, the name type is more specifically the gene symbol.") +AnnotationAssertion( "A synonym type for names that have been used as primary labels in the past.") +AnnotationAssertion( ) +AnnotationAssertion( ) +AnnotationAssertion( "2023-07-25"^^xsd:date) +AnnotationAssertion(rdfs:label "previous name") +SubAnnotationPropertyOf( ) + +# Annotation Property: (legal name) + +AnnotationAssertion( "The legal name for Harvard University (https://ror.org/03vek6s52) is President and Fellows of Harvard College") +AnnotationAssertion( "A synonym type for the legal entity name") +AnnotationAssertion( ) +AnnotationAssertion( ) +AnnotationAssertion( "2023-07-27"^^xsd:date) +AnnotationAssertion(rdfs:label "legal name") +SubAnnotationPropertyOf( ) + # Annotation Property: (has broad synonym) AnnotationAssertion( "An alternative label for a class or property which has a more general meaning than the preferred name/primary label.") @@ -989,6 +1032,16 @@ AnnotationAssertion( "out of scope") ClassAssertion( ) +# Individual: (domain entity does not exist) + +AnnotationAssertion( "The term was added to the ontology on the assumption it was a valid domain entity, but it turns out the entity does not exist in reality."@en) +AnnotationAssertion( "This obsolesence reason should be used conservatively. For example: Obsoleting class that describes a breed of cow based on a record in an existing database, that was later retracted as faulty (breed does not exist). Do not use this term to obsolete a historic concept (that was once valid, but not anymore). "@en) +AnnotationAssertion( ) +AnnotationAssertion( "https://github.com/information-artifact-ontology/ontology-metadata/issues/136") +AnnotationAssertion( "https://orcid.org/0000-0002-4142-7153") +AnnotationAssertion(rdfs:label "domain entity does not exist") +ClassAssertion( ) + DifferentIndividuals( ) DifferentIndividuals( ) diff --git a/src/ontology/imports/ro_import.owl b/src/ontology/imports/ro_import.owl index a2734b9..ee69658 100644 --- a/src/ontology/imports/ro_import.owl +++ b/src/ontology/imports/ro_import.owl @@ -7,9 +7,9 @@ Prefix(rdfs:=) Ontology( - -Annotation( ) -Annotation(owl:versionInfo "2023-06-01") + +Annotation( ) +Annotation(owl:versionInfo "2023-09-28") Declaration(Class()) Declaration(Class()) @@ -27,6 +27,7 @@ Declaration(Class()) Declaration(Class()) Declaration(Class()) Declaration(Class()) +Declaration(Class()) Declaration(Class()) Declaration(ObjectProperty()) Declaration(ObjectProperty()) @@ -45,8 +46,6 @@ Declaration(ObjectProperty()) Declaration(ObjectProperty()) Declaration(ObjectProperty()) Declaration(ObjectProperty()) -Declaration(ObjectProperty()) -Declaration(ObjectProperty()) Declaration(ObjectProperty()) Declaration(ObjectProperty()) Declaration(ObjectProperty()) @@ -137,6 +136,15 @@ Declaration(ObjectProperty()) Declaration(ObjectProperty()) Declaration(ObjectProperty()) Declaration(ObjectProperty()) +Declaration(NamedIndividual()) +Declaration(NamedIndividual()) +Declaration(NamedIndividual()) +Declaration(NamedIndividual()) +Declaration(NamedIndividual()) +Declaration(NamedIndividual()) +Declaration(NamedIndividual()) +Declaration(NamedIndividual()) +Declaration(NamedIndividual()) Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) @@ -146,6 +154,7 @@ Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) +Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) @@ -165,9 +174,7 @@ Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) -Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) -Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) @@ -195,11 +202,69 @@ Declaration(AnnotationProperty()) # Annotation Property: (definition) +AnnotationAssertion( "definition"@en) +AnnotationAssertion( ) +AnnotationAssertion( "The official definition, explaining the meaning of a class or property. Shall be Aristotelian, formalized and normalized. Can be augmented with colloquial definitions."@en) +AnnotationAssertion( "2012-04-05: +Barry Smith + +The official OBI definition, explaining the meaning of a class or property: 'Shall be Aristotelian, formalized and normalized. Can be augmented with colloquial definitions' is terrible. + +Can you fix to something like: + +A statement of necessary and sufficient conditions explaining the meaning of an expression referring to a class or property. + +Alan Ruttenberg + +Your proposed definition is a reasonable candidate, except that it is very common that necessary and sufficient conditions are not given. Mostly they are necessary, occasionally they are necessary and sufficient or just sufficient. Often they use terms that are not themselves defined and so they effectively can't be evaluated by those criteria. + +On the specifics of the proposed definition: + +We don't have definitions of 'meaning' or 'expression' or 'property'. For 'reference' in the intended sense I think we use the term 'denotation'. For 'expression', I think we you mean symbol, or identifier. For 'meaning' it differs for class and property. For class we want documentation that let's the intended reader determine whether an entity is instance of the class, or not. For property we want documentation that let's the intended reader determine, given a pair of potential relata, whether the assertion that the relation holds is true. The 'intended reader' part suggests that we also specify who, we expect, would be able to understand the definition, and also generalizes over human and computer reader to include textual and logical definition. + +Personally, I am more comfortable weakening definition to documentation, with instructions as to what is desirable. + +We also have the outstanding issue of how to aim different definitions to different audiences. A clinical audience reading chebi wants a different sort of definition documentation/definition from a chemistry trained audience, and similarly there is a need for a definition that is adequate for an ontologist to work with. "@en) +AnnotationAssertion( "PERSON:Daniel Schober"@en) +AnnotationAssertion( "GROUP:OBI:"@en) +AnnotationAssertion(rdfs:label "definition"@en) AnnotationAssertion(rdfs:label "definition") +# Annotation Property: (editor note) + +AnnotationAssertion( "editor note"@en) +AnnotationAssertion( ) +AnnotationAssertion( "An administrative note intended for its editor. It may not be included in the publication version of the ontology, so it should contain nothing necessary for end users to understand the ontology."@en) +AnnotationAssertion( "PERSON:Daniel Schober"@en) +AnnotationAssertion( "GROUP:OBI:"@en) +AnnotationAssertion(rdfs:label "editor note"@en) + +# Annotation Property: (term tracker item) + +AnnotationAssertion( "term tracker item"@en) +AnnotationAssertion( "the URI for an OBI Terms ticket at sourceforge, such as https://sourceforge.net/p/obi/obi-terms/772/"@en) +AnnotationAssertion( ) +AnnotationAssertion( "An IRI or similar locator for a request or discussion of an ontology term."@en) +AnnotationAssertion( "Person: Jie Zheng, Chris Stoeckert, Alan Ruttenberg"@en) +AnnotationAssertion( "Person: Jie Zheng, Chris Stoeckert, Alan Ruttenberg"@en) +AnnotationAssertion(rdfs:comment "The 'tracker item' can associate a tracker with a specific ontology term."@en) +AnnotationAssertion(rdfs:label "term tracker item"@en) + +# Annotation Property: (has ontology root term) + +AnnotationAssertion( "has ontology root term"@en) +AnnotationAssertion( "Ontology annotation property. Relates an ontology to a term that is a designated root term of the ontology. Display tools like OLS can use terms annotated with this property as the starting point for rendering the ontology class hierarchy. There can be more than one root."@en) +AnnotationAssertion( "Nicolas Matentzoglu"@en) +AnnotationAssertion(rdfs:label "has ontology root term"@en) + # Annotation Property: (term replaced by) +AnnotationAssertion( "term replaced by"@en) AnnotationAssertion( ) +AnnotationAssertion( "Use on obsolete terms, relating the term to another term that can be used as a substitute"@en) +AnnotationAssertion( "Person:Alan Ruttenberg"@en) +AnnotationAssertion( "Person:Alan Ruttenberg"@en) +AnnotationAssertion(rdfs:comment "Add as annotation triples in the granting ontology"@en) AnnotationAssertion(rdfs:label "term replaced by"@en) # Annotation Property: () @@ -244,9 +309,14 @@ AnnotationAssertion(rdfs:label "database_cross_reference") -# Annotation Property: (has_exact_synonym) +# Annotation Property: (has exact synonym) +AnnotationAssertion( "An alternative label for a class or property which has the exact same meaning than the preferred name/primary label.") +AnnotationAssertion( ) +AnnotationAssertion( "https://github.com/information-artifact-ontology/ontology-metadata/issues/20") +AnnotationAssertion(rdfs:label "has exact synonym"@en) AnnotationAssertion(rdfs:label "has_exact_synonym") +AnnotationAssertion(rdfs:seeAlso "https://github.com/information-artifact-ontology/ontology-metadata/issues/20") # Annotation Property: (in_subset) @@ -285,6 +355,7 @@ AnnotationAssertion( "part of"@en) AnnotationAssertion(rdfs:seeAlso ) AnnotationAssertion(rdfs:seeAlso ) +AnnotationAssertion(rdfs:seeAlso "https://wiki.geneontology.org/Part_of"^^xsd:anyURI) AnnotationAssertion(rdfs:seeAlso "http://www.obofoundry.org/ro/#OBO_REL:part_of") SubObjectPropertyOf( ) InverseObjectProperties( ) @@ -318,7 +389,7 @@ AnnotationAssertion( "An example is: translation preceded_by transcription; aging preceded_by development (not however death preceded_by aging). Where derives_from links classes of continuants, preceded_by links classes of processes. Clearly, however, these two relations are not independent of each other. Thus if cells of type C1 derive_from cells of type C, then any cell division involving an instance of C1 in a given lineage is preceded_by cellular processes involving an instance of C. The assertion P preceded_by P1 tells us something about Ps in general: that is, it tells us something about what happened earlier, given what we know about what happened later. Thus it does not provide information pointing in the opposite direction, concerning instances of P1 in general; that is, that each is such as to be succeeded by some instance of P. Note that an assertion to the effect that P preceded_by P1 is rather weak; it tells us little about the relations between the underlying instances in virtue of which the preceded_by relation obtains. Typically we will be interested in stronger relations, for example in the relation immediately_preceded_by, or in relations which combine preceded_by with a condition to the effect that the corresponding instances of P and P1 share participants, or that their participants are connected by relations of derivation, or (as a first step along the road to a treatment of causality) that the one process in some way affects (for example, initiates or regulates) the other."@en) AnnotationAssertion( "is preceded by"@en) AnnotationAssertion( "preceded_by"@en) -AnnotationAssertion( "http://www.obofoundry.org/ro/#OBO_REL:preceded_by") +AnnotationAssertion( "http://www.obofoundry.org/ro/#OBO_REL:preceded_by") AnnotationAssertion( ) AnnotationAssertion(rdfs:label "preceded by"@en) SubObjectPropertyOf( ) @@ -388,7 +459,7 @@ AnnotationAssertion( "a relation between a process and a continuant, in which the continuant is somehow involved in the process"@en) AnnotationAssertion( "Has_participant is a primitive instance-level relation between a process, a continuant, and a time at which the continuant participates in some way in the process. The relation obtains, for example, when this particular process of oxygen exchange across this particular alveolar membrane has_participant this particular sample of hemoglobin at this particular time."@en) AnnotationAssertion( "has_participant"@en) -AnnotationAssertion( "http://www.obofoundry.org/ro/#OBO_REL:has_participant") +AnnotationAssertion( "http://www.obofoundry.org/ro/#OBO_REL:has_participant") AnnotationAssertion(rdfs:label "has participant"@en) ObjectPropertyDomain( ) ObjectPropertyRange( ) @@ -492,30 +563,6 @@ AnnotationAssertion(rdfs:label "loca InverseObjectProperties( ) TransitiveObjectProperty() -# Object Property: (contained in) - -AnnotationAssertion( "contained in"@en) -AnnotationAssertion( "Containment obtains in each case between material and immaterial continuants, for instance: lung contained_in thoracic cavity; bladder contained_in pelvic cavity. Hence containment is not a transitive relation. If c part_of c1 at t then we have also, by our definition and by the axioms of mereology applied to spatial regions, c located_in c1 at t. Thus, many examples of instance-level location relations for continuants are in fact cases of instance-level parthood. For material continuants location and parthood coincide. Containment is location not involving parthood, and arises only where some immaterial continuant is involved. To understand this relation, we first define overlap for continuants as follows: c1 overlap c2 at t =def for some c, c part_of c1 at t and c part_of c2 at t. The containment relation on the instance level can then be defined (see definition):"@en) -AnnotationAssertion( "Intended meaning: -domain: material entity -range: spatial region or site (immaterial continuant) - "@en) -AnnotationAssertion( "Containment is location not involving parthood, and arises only where some immaterial continuant is involved.") -AnnotationAssertion( "contained_in"@en) -AnnotationAssertion( ) -AnnotationAssertion( ) -AnnotationAssertion(rdfs:label "contained in"@en) -InverseObjectProperties( ) -ObjectPropertyDomain( ) -ObjectPropertyRange( ) - -# Object Property: (contains) - -AnnotationAssertion( "contains"@en) -AnnotationAssertion( ) -AnnotationAssertion( ) -AnnotationAssertion(rdfs:label "contains"@en) - # Object Property: (located in) AnnotationAssertion( "located in"@en) @@ -526,9 +573,10 @@ AnnotationAssertion( "Most location relations will only hold at certain times, but this is difficult to specify in OWL. See http://purl.obolibrary.org/obo/ro/docs/temporal-semantics/"@en) AnnotationAssertion( "located_in"@en) AnnotationAssertion( ) -AnnotationAssertion( "http://www.obofoundry.org/ro/#OBO_REL:located_in") +AnnotationAssertion( "http://www.obofoundry.org/ro/#OBO_REL:located_in") AnnotationAssertion( ) AnnotationAssertion(rdfs:label "located in"@en) +AnnotationAssertion(rdfs:seeAlso "https://wiki.geneontology.org/Located_in"^^xsd:anyURI) TransitiveObjectProperty() ObjectPropertyDomain(Annotation( "This is redundant with the more specific 'independent and not spatial region' constraint. We leave in the redundant axiom for use with reasoners that do not use negation.") ) ObjectPropertyDomain( ObjectIntersectionOf( ObjectComplementOf())) @@ -538,7 +586,7 @@ ObjectPropertyRange( ObjectIntersecti # Object Property: (has regulatory component activity) AnnotationAssertion( "A 'has regulatory component activity' B if A and B are GO molecular functions (GO_0003674), A has_component B and A is regulated by B.") -AnnotationAssertion( "dos") +AnnotationAssertion( ) AnnotationAssertion( "2017-05-24T09:30:46Z"^^xsd:dateTime) AnnotationAssertion(rdfs:label "has regulatory component activity") SubObjectPropertyOf( ) @@ -547,7 +595,7 @@ SubObjectPropertyOf( (has negative regulatory component activity) AnnotationAssertion( "A relationship that holds between a GO molecular function and a component of that molecular function that negatively regulates the activity of the whole. More formally, A 'has regulatory component activity' B iff :A and B are GO molecular functions (GO_0003674), A has_component B and A is negatively regulated by B.") -AnnotationAssertion( "dos") +AnnotationAssertion( ) AnnotationAssertion( "2017-05-24T09:31:01Z"^^xsd:dateTime) AnnotationAssertion(rdfs:comment "By convention GO molecular functions are classified by their effector function. Internal regulatory functions are treated as components. For example, NMDA glutmate receptor activity is a cation channel activity with positive regulatory component 'glutamate binding' and negative regulatory components including 'zinc binding' and 'magnesium binding'.") AnnotationAssertion(rdfs:label "has negative regulatory component activity") @@ -557,7 +605,7 @@ SubObjectPropertyOf( (has positive regulatory component activity) AnnotationAssertion( "A relationship that holds between a GO molecular function and a component of that molecular function that positively regulates the activity of the whole. More formally, A 'has regulatory component activity' B iff :A and B are GO molecular functions (GO_0003674), A has_component B and A is positively regulated by B.") -AnnotationAssertion( "dos") +AnnotationAssertion( ) AnnotationAssertion( "2017-05-24T09:31:17Z"^^xsd:dateTime) AnnotationAssertion(rdfs:comment "By convention GO molecular functions are classified by their effector function and internal regulatory functions are treated as components. So, for example calmodulin has a protein binding activity that has positive regulatory component activity calcium binding activity. Receptor tyrosine kinase activity is a tyrosine kinase activity that has positive regulatory component 'ligand binding'.") AnnotationAssertion(rdfs:label "has positive regulatory component activity") @@ -566,7 +614,7 @@ SubObjectPropertyOf( (has component activity) -AnnotationAssertion( "dos") +AnnotationAssertion( ) AnnotationAssertion( "2017-05-24T09:44:33Z"^^xsd:dateTime) AnnotationAssertion(rdfs:comment "A 'has component activity' B if A is A and B are molecular functions (GO_0003674) and A has_component B.") AnnotationAssertion(rdfs:label "has component activity") @@ -575,7 +623,7 @@ SubObjectPropertyOf( (has component process) AnnotationAssertion( "w 'has process component' p if p and w are processes, w 'has part' p and w is such that it can be directly disassembled into into n parts p, p2, p3, ..., pn, where these parts are of similar type.") -AnnotationAssertion( "dos") +AnnotationAssertion( ) AnnotationAssertion( "2017-05-24T09:49:21Z"^^xsd:dateTime) AnnotationAssertion(rdfs:label "has component process") SubObjectPropertyOf( ) @@ -584,17 +632,17 @@ ObjectPropertyRange( (directly regulated by) -AnnotationAssertion( "dos") +AnnotationAssertion( ) AnnotationAssertion( "2017-09-17T13:52:24Z"^^xsd:dateTime) -AnnotationAssertion(Annotation( "GOC:dos") rdfs:comment "Process(P2) is directly regulated by process(P1) iff: P1 regulates P2 via direct physical interaction between an agent executing P1 (or some part of P1) and an agent executing P2 (or some part of P2). For example, if protein A has protein binding activity(P1) that targets protein B and this binding regulates the kinase activity (P2) of protein B then P1 directly regulates P2.") +AnnotationAssertion(Annotation( ) rdfs:comment "Process(P2) is directly regulated by process(P1) iff: P1 regulates P2 via direct physical interaction between an agent executing P1 (or some part of P1) and an agent executing P2 (or some part of P2). For example, if protein A has protein binding activity(P1) that targets protein B and this binding regulates the kinase activity (P2) of protein B then P1 directly regulates P2.") AnnotationAssertion(rdfs:label "directly regulated by") SubObjectPropertyOf( ) InverseObjectProperties( ) # Object Property: (directly negatively regulated by) -AnnotationAssertion(Annotation( "GOC:dos") "Process(P2) is directly negatively regulated by process(P1) iff: P1 negatively regulates P2 via direct physical interaction between an agent executing P1 (or some part of P1) and an agent executing P2 (or some part of P2). For example, if protein A has protein binding activity(P1) that targets protein B and this binding negatively regulates the kinase activity (P2) of protein B then P2 directly negatively regulated by P1.") -AnnotationAssertion( "dos") +AnnotationAssertion(Annotation( ) "Process(P2) is directly negatively regulated by process(P1) iff: P1 negatively regulates P2 via direct physical interaction between an agent executing P1 (or some part of P1) and an agent executing P2 (or some part of P2). For example, if protein A has protein binding activity(P1) that targets protein B and this binding negatively regulates the kinase activity (P2) of protein B then P2 directly negatively regulated by P1.") +AnnotationAssertion( ) AnnotationAssertion( "2017-09-17T13:52:38Z"^^xsd:dateTime) AnnotationAssertion(rdfs:label "directly negatively regulated by") SubObjectPropertyOf( ) @@ -602,8 +650,8 @@ InverseObjectProperties( (directly positively regulated by) -AnnotationAssertion(Annotation( "GOC:dos") "Process(P2) is directly postively regulated by process(P1) iff: P1 positively regulates P2 via direct physical interaction between an agent executing P1 (or some part of P1) and an agent executing P2 (or some part of P2). For example, if protein A has protein binding activity(P1) that targets protein B and this binding positively regulates the kinase activity (P2) of protein B then P2 is directly postively regulated by P1.") -AnnotationAssertion( "dos") +AnnotationAssertion(Annotation( ) "Process(P2) is directly postively regulated by process(P1) iff: P1 positively regulates P2 via direct physical interaction between an agent executing P1 (or some part of P1) and an agent executing P2 (or some part of P2). For example, if protein A has protein binding activity(P1) that targets protein B and this binding positively regulates the kinase activity (P2) of protein B then P2 is directly postively regulated by P1.") +AnnotationAssertion( ) AnnotationAssertion( "2017-09-17T13:52:47Z"^^xsd:dateTime) AnnotationAssertion(rdfs:label "directly positively regulated by") SubObjectPropertyOf( ) @@ -611,8 +659,8 @@ InverseObjectProperties( (has effector activity) -AnnotationAssertion(Annotation( "GOC:dos") "A 'has effector activity' B if A and B are GO molecular functions (GO_0003674), A 'has component activity' B and B is the effector (output function) of B. Each compound function has only one effector activity.") -AnnotationAssertion( "dos") +AnnotationAssertion(Annotation( ) "A 'has effector activity' B if A and B are GO molecular functions (GO_0003674), A 'has component activity' B and B is the effector (output function) of B. Each compound function has only one effector activity.") +AnnotationAssertion( ) AnnotationAssertion( "2017-09-22T14:14:36Z"^^xsd:dateTime) AnnotationAssertion(rdfs:comment "This relation is designed for constructing compound molecular functions, typically in combination with one or more regulatory component activity relations.") AnnotationAssertion(rdfs:label "has effector activity") @@ -776,6 +824,7 @@ AnnotationAssertion( ) AnnotationAssertion( ) AnnotationAssertion(rdfs:label "has input"@en) +AnnotationAssertion(rdfs:seeAlso "https://wiki.geneontology.org/Has_input"^^xsd:anyURI) SubObjectPropertyOf( ) InverseObjectProperties( ) ObjectPropertyDomain( ) @@ -796,7 +845,7 @@ AnnotationAssertion( "affects") AnnotationAssertion( ) AnnotationAssertion(rdfs:label "acts upstream of or within") -AnnotationAssertion(rdfs:seeAlso ) +AnnotationAssertion(rdfs:seeAlso "https://wiki.geneontology.org/Acts_upstream_of_or_within"^^xsd:anyURI) SubObjectPropertyOf( ) # Object Property: (causally upstream of, positive effect) @@ -808,6 +857,7 @@ AnnotationAssertion( ) AnnotationAssertion(rdfs:comment "holds between x and y if and only if x is causally upstream of y and the progression of x increases the frequency, rate or extent of y") AnnotationAssertion(rdfs:label "causally upstream of, positive effect") +AnnotationAssertion(rdfs:seeAlso ) SubObjectPropertyOf( ) SubObjectPropertyOf( ) @@ -819,6 +869,7 @@ AnnotationAssertion( ) AnnotationAssertion( ) AnnotationAssertion(rdfs:label "causally upstream of, negative effect") +AnnotationAssertion(rdfs:seeAlso ) SubObjectPropertyOf( ) SubObjectPropertyOf( ) @@ -855,6 +906,7 @@ AnnotationAssertion( "This relation differs from the parent relation 'capable of' in that the parent is weaker and only expresses a capability that may not be actually realized, whereas this relation is always realized.") AnnotationAssertion( ) AnnotationAssertion(rdfs:label "enables"@en) +AnnotationAssertion(rdfs:seeAlso "https://wiki.geneontology.org/Enables"^^xsd:anyURI) SubObjectPropertyOf( ) InverseObjectProperties( ) @@ -880,7 +932,7 @@ AnnotationAssertion( "actively involved in") AnnotationAssertion( "enables part of") AnnotationAssertion(rdfs:label "involved in"@en) -AnnotationAssertion(rdfs:seeAlso ) +AnnotationAssertion(rdfs:seeAlso "https://wiki.geneontology.org/Involved_in"^^xsd:anyURI) SubObjectPropertyOf( ) SubObjectPropertyOf( ) @@ -890,6 +942,7 @@ AnnotationAssertion( ) AnnotationAssertion( ) AnnotationAssertion(rdfs:label "enabled by"@en) +AnnotationAssertion(rdfs:seeAlso "https://wiki.geneontology.org/Enabled_by"^^xsd:anyURI) SubObjectPropertyOf( ) SubObjectPropertyOf( ) @@ -966,6 +1019,7 @@ AnnotationAssertion( "indirectly activates") AnnotationAssertion( ) AnnotationAssertion(rdfs:label "indirectly positively regulates"@en) +AnnotationAssertion(rdfs:seeAlso "https://wiki.geneontology.org/Indirectly_positively_regulates"^^xsd:anyURI) SubObjectPropertyOf( ) SubObjectPropertyOf( ) TransitiveObjectProperty() @@ -977,6 +1031,7 @@ AnnotationAssertion( "indirectly inhibits") AnnotationAssertion( ) AnnotationAssertion(rdfs:label "indirectly negatively regulates"@en) +AnnotationAssertion(rdfs:seeAlso "https://wiki.geneontology.org/Indirectly_negatively_regulates"^^xsd:anyURI) SubObjectPropertyOf( ) SubObjectPropertyOf( ) TransitiveObjectProperty() @@ -1313,6 +1368,7 @@ AnnotationAssertion( ) AnnotationAssertion( ) AnnotationAssertion(rdfs:label "directly positively regulates") +AnnotationAssertion(rdfs:seeAlso "https://wiki.geneontology.org/Directly_positively_regulates"^^xsd:anyURI) SubObjectPropertyOf( ) SubObjectPropertyOf( ) @@ -1326,6 +1382,7 @@ AnnotationAssertion( ) AnnotationAssertion( ) AnnotationAssertion(rdfs:label "directly negatively regulates") +AnnotationAssertion(rdfs:seeAlso "https://wiki.geneontology.org/Directly_negatively_regulates"^^xsd:anyURI) SubObjectPropertyOf( ) SubObjectPropertyOf( ) @@ -1344,7 +1401,7 @@ AnnotationAssertion( "2018-01-26T23:49:30Z"^^xsd:dateTime) AnnotationAssertion( ) AnnotationAssertion(rdfs:label "acts upstream of or within, positive effect") -AnnotationAssertion(rdfs:seeAlso ) +AnnotationAssertion(rdfs:seeAlso "https://wiki.geneontology.org/Acts_upstream_of_or_within,_positive_effect"^^xsd:anyURI) SubObjectPropertyOf( ) # Object Property: (acts upstream of or within, negative effect) @@ -1354,6 +1411,7 @@ AnnotationAssertion( "2018-01-26T23:49:51Z"^^xsd:dateTime) AnnotationAssertion( ) AnnotationAssertion(rdfs:label "acts upstream of or within, negative effect") +AnnotationAssertion(rdfs:seeAlso "https://wiki.geneontology.org/Acts_upstream_of_or_within,_negative_effect"^^xsd:anyURI) SubObjectPropertyOf( ) # Object Property: (acts upstream of, positive effect) @@ -1364,7 +1422,7 @@ AnnotationAssertion( "2018-01-26T23:53:14Z"^^xsd:dateTime) AnnotationAssertion( ) AnnotationAssertion(rdfs:label "acts upstream of, positive effect") -AnnotationAssertion(rdfs:seeAlso ) +AnnotationAssertion(rdfs:seeAlso "https://wiki.geneontology.org/Acts_upstream_of,_positive_effect"^^xsd:anyURI) SubObjectPropertyOf( ) SubObjectPropertyOf( ) @@ -1376,7 +1434,7 @@ AnnotationAssertion( "2018-01-26T23:53:22Z"^^xsd:dateTime) AnnotationAssertion( ) AnnotationAssertion(rdfs:label "acts upstream of, negative effect") -AnnotationAssertion(rdfs:seeAlso ) +AnnotationAssertion(rdfs:seeAlso "https://wiki.geneontology.org/Acts_upstream_of,_negative_effect"^^xsd:anyURI) SubObjectPropertyOf( ) SubObjectPropertyOf( ) @@ -1386,6 +1444,7 @@ AnnotationAssertion( ) AnnotationAssertion( "2018-03-13T23:55:05Z"^^xsd:dateTime) AnnotationAssertion(rdfs:label "causally upstream of or within, negative effect") +AnnotationAssertion(rdfs:seeAlso "https://wiki.geneontology.org/Causally_upstream_of_or_within,_negative_effect"^^xsd:anyURI) SubObjectPropertyOf( ) # Object Property: (causally upstream of or within, positive effect) @@ -1394,6 +1453,7 @@ AnnotationAssertion( ) AnnotationAssertion( "2018-03-13T23:55:19Z"^^xsd:dateTime) AnnotationAssertion(rdfs:label "causally upstream of or within, positive effect") +AnnotationAssertion(rdfs:seeAlso ) SubObjectPropertyOf( ) # Object Property: (regulates activity of) @@ -1408,7 +1468,7 @@ ObjectPropertyRange( (indirectly causally upstream of) AnnotationAssertion( "p is indirectly causally upstream of q iff p is causally upstream of q and there exists some process r such that p is causally upstream of r and r is causally upstream of q.") -AnnotationAssertion( "pg") +AnnotationAssertion( ) AnnotationAssertion( "2022-09-26T06:07:17Z"^^xsd:dateTime) AnnotationAssertion(rdfs:label "indirectly causally upstream of"@en) SubObjectPropertyOf( ) @@ -1416,7 +1476,7 @@ SubObjectPropertyOf( (indirectly regulates) AnnotationAssertion( "p indirectly regulates q iff p is indirectly causally upstream of q and p regulates q.") -AnnotationAssertion( "pg") +AnnotationAssertion( ) AnnotationAssertion( "2022-09-26T06:08:01Z"^^xsd:dateTime) AnnotationAssertion(rdfs:label "indirectly regulates"@en) SubObjectPropertyOf( ) @@ -1430,7 +1490,7 @@ AnnotationAssertion( ) AnnotationAssertion( "A diagnostic testing device utilizes a specimen means that the diagnostic testing device is capable of an assay, and this assay a specimen as its input.") AnnotationAssertion( "See github ticket https://github.com/oborel/obo-relations/issues/497") -AnnotationAssertion( "2021-11-08T12:00:00Z") +AnnotationAssertion( "2021-11-08T12:00:00Z"^^xsd:dateTime) AnnotationAssertion( "utilizes") AnnotationAssertion(rdfs:label "device utilizes material"@en) @@ -1480,7 +1540,8 @@ DisjointClasses( ObjectSomeValuesFro # Class: (independent continuant) -AnnotationAssertion( "A continuant that is a bearer of quality and realizable entity entities, in which other entities inhere and which itself cannot inhere in anything."@en) +AnnotationAssertion( "b is an independent continuant = Def. b is a continuant which is such that there is no c and no t such that b s-depends_on c at t. (axiom label in BFO2 Reference: [017-002])"@en) +AnnotationAssertion(rdfs:comment "A continuant that is a bearer of quality and realizable entity entities, in which other entities inhere and which itself cannot inhere in anything."@en) AnnotationAssertion(rdfs:label "independent continuant"@en) SubClassOf( ) SubClassOf( ObjectAllValuesFrom( )) @@ -1493,7 +1554,8 @@ SubClassOf( (process) -AnnotationAssertion( "An occurrent that has temporal proper parts and for some time t, p s-depends_on some material entity at t."@en) +AnnotationAssertion( "p is a process = Def. p is an occurrent that has temporal proper parts and for some time t, p s-depends_on some material entity at t. (axiom label in BFO2 Reference: [083-003])"@en) +AnnotationAssertion(rdfs:comment "An occurrent that has temporal proper parts and for some time t, p s-depends_on some material entity at t."@en) AnnotationAssertion(rdfs:label "process"@en) SubClassOf( ) @@ -1519,7 +1581,8 @@ SubClassOf( ObjectAllValuesFrom( (specifically dependent continuant) -AnnotationAssertion( "A continuant that inheres in or is borne by other entities. Every instance of A requires some specific instance of B which must always be the same."@en) +AnnotationAssertion( "b is a specifically dependent continuant = Def. b is a continuant & there is some independent continuant c which is not a spatial region and which is such that b s-depends_on c at every time t during the course of b’s existence. (axiom label in BFO2 Reference: [050-003])"@en) +AnnotationAssertion(rdfs:comment "A continuant that inheres in or is borne by other entities. Every instance of A requires some specific instance of B which must always be the same."@en) AnnotationAssertion(rdfs:label "specifically dependent continuant"@en) SubClassOf( ) SubClassOf( ObjectAllValuesFrom( )) @@ -1551,7 +1614,7 @@ DisjointClasses( ObjectSomeValuesFro # Class: (molecular_function) -AnnotationAssertion(Annotation( "GOC:pdt") "A molecular process that can be carried out by the action of a single macromolecular machine, usually via direct physical interactions with other molecular entities. Function in this sense denotes an action, or activity, that a gene product (or a complex) performs. These actions are described from two distinct but related perspectives: (1) biochemical activity, and (2) role as a component in a larger system/process.") +AnnotationAssertion(Annotation( "GOC:pdt") "A molecular process that can be carried out by the action of a single macromolecular machine, usually via direct physical interactions with other molecular entities. Function in this sense denotes an action, or activity, that a gene product (or a complex) performs.") AnnotationAssertion( "molecular function") AnnotationAssertion( "GO:0003674") AnnotationAssertion(rdfs:comment "Note that, in addition to forming the root of the molecular function ontology, this term is recommended for use for the annotation of gene products whose molecular function is unknown. When this term is used for annotation, it indicates that no information was available about the molecular function of the gene product annotated as of the date the annotation was made; the evidence code 'no data' (ND), is used to indicate this. Despite its name, this is not a type of 'function' in the sense typically defined by upper ontologies such as Basic Formal Ontology (BFO). It is instead a BFO:process carried out by a single gene product or complex.") @@ -1559,7 +1622,7 @@ AnnotationAssertion(rdfs:label "mole # Class: (biological_process) -AnnotationAssertion(Annotation( "GOC:pdt") "A biological process represents a specific objective that the organism is genetically programmed to achieve. Biological processes are often described by their outcome or ending state, e.g., the biological process of cell division results in the creation of two daughter cells (a divided cell) from a single parent cell. A biological process is accomplished by a particular set of molecular functions carried out by specific gene products (or macromolecular complexes), often in a highly regulated manner and in a particular temporal sequence.") +AnnotationAssertion(Annotation( "GOC:pdt") "A biological process is the execution of a genetically-encoded biological module or program. It consists of all the steps required to achieve the specific biological objective of the module. A biological process is accomplished by a particular set of molecular functions carried out by specific gene products (or macromolecular complexes), often in a highly regulated manner and in a particular temporal sequence.") AnnotationAssertion( "jl") AnnotationAssertion( "2012-09-19T15:05:24Z") AnnotationAssertion( "Wikipedia:Biological_process") @@ -1583,6 +1646,18 @@ AnnotationAssertion(rdfs:label "kina SubClassOf( ) SubClassOf( ObjectHasSelf()) +# Class: (curation status specification) + +AnnotationAssertion( "curation status specification"@en) +AnnotationAssertion( ) +AnnotationAssertion( "The curation status of the term. The allowed values come from an enumerated list of predefined terms. See the specification of these instances for more detailed definitions of each enumerated value."@en) +AnnotationAssertion( "Better to represent curation as a process with parts and then relate labels to that process (in IAO meeting)"@en) +AnnotationAssertion( "PERSON:Bill Bug"@en) +AnnotationAssertion( "GROUP:OBI:"@en) +AnnotationAssertion( "OBI_0000266"@en) +AnnotationAssertion(rdfs:label "curation status specification"@en) +EquivalentClasses( ObjectOneOf( )) + # Class: (quality) AnnotationAssertion(Annotation( "PATOC:GVG") "A dependent entity that inheres in a bearer by virtue of how the bearer is related to other entities") @@ -1591,7 +1666,75 @@ AnnotationAssertion(rdfs:label "qu SubClassOf( ) +############################ +# Named Individuals +############################ + +# Individual: (example to be eventually removed) + +AnnotationAssertion( "example to be eventually removed"@en) +AnnotationAssertion(rdfs:label "example to be eventually removed"@en) + +# Individual: (metadata complete) + +AnnotationAssertion( "metadata complete"@en) +AnnotationAssertion( "Class has all its metadata, but is either not guaranteed to be in its final location in the asserted IS_A hierarchy or refers to another class that is not complete."@en) +AnnotationAssertion(rdfs:label "metadata complete"@en) + +# Individual: (organizational term) + +AnnotationAssertion( "organizational term"@en) +AnnotationAssertion( "Term created to ease viewing/sort terms for development purpose, and will not be included in a release"@en) +AnnotationAssertion(rdfs:label "organizational term"@en) + +# Individual: (ready for release) + +AnnotationAssertion( "ready for release"@en) +AnnotationAssertion( ) +AnnotationAssertion( "Class has undergone final review, is ready for use, and will be included in the next release. Any class lacking \"ready_for_release\" should be considered likely to change place in hierarchy, have its definition refined, or be obsoleted in the next release. Those classes deemed \"ready_for_release\" will also derived from a chain of ancestor classes that are also \"ready_for_release.\""@en) +AnnotationAssertion(rdfs:label "ready for release"@en) + +# Individual: (metadata incomplete) + +AnnotationAssertion( "metadata incomplete"@en) +AnnotationAssertion( "Class is being worked on; however, the metadata (including definition) are not complete or sufficiently clear to the branch editors."@en) +AnnotationAssertion(rdfs:label "metadata incomplete"@en) + +# Individual: (uncurated) + +AnnotationAssertion( "uncurated"@en) +AnnotationAssertion( "Nothing done yet beyond assigning a unique class ID and proposing a preferred term."@en) +AnnotationAssertion(rdfs:label "uncurated"@en) + +# Individual: (pending final vetting) + +AnnotationAssertion( "pending final vetting"@en) +AnnotationAssertion( ) +AnnotationAssertion( "All definitions, placement in the asserted IS_A hierarchy and required minimal metadata are complete. The class is awaiting a final review by someone other than the term editor."@en) +AnnotationAssertion(rdfs:label "pending final vetting"@en) +ClassAssertion( ) + +# Individual: (to be replaced with external ontology term) + +AnnotationAssertion( "to be replaced with external ontology term"@en) +AnnotationAssertion( "Terms with this status should eventually replaced with a term from another ontology."@en) +AnnotationAssertion( "Alan Ruttenberg"@en) +AnnotationAssertion( "group:OBI"@en) +AnnotationAssertion(rdfs:label "to be replaced with external ontology term"@en) + +# Individual: (requires discussion) + +AnnotationAssertion( "requires discussion"@en) +AnnotationAssertion( ) +AnnotationAssertion( "A term that is metadata complete, has been reviewed, and problems have been identified that require discussion before release. Such a term requires editor note(s) to identify the outstanding issues."@en) +AnnotationAssertion( "Alan Ruttenberg"@en) +AnnotationAssertion( "group:OBI"@en) +AnnotationAssertion(rdfs:label "requires discussion"@en) +ClassAssertion( ) + + SubClassOf(ObjectSomeValuesFrom( ) ObjectUnionOf(ObjectSomeValuesFrom( ObjectSomeValuesFrom( )) ObjectSomeValuesFrom( ObjectSomeValuesFrom( ObjectSomeValuesFrom( ))))) +DifferentIndividuals( ) SubObjectPropertyOf(ObjectPropertyChain( ) ) SubObjectPropertyOf(ObjectPropertyChain( ) ) SubObjectPropertyOf(ObjectPropertyChain( ) ) @@ -1601,7 +1744,6 @@ SubObjectPropertyOf(ObjectPropertyChain( ) ) SubObjectPropertyOf(ObjectPropertyChain( ) ) SubObjectPropertyOf(Annotation( "true"^^xsd:boolean) ObjectPropertyChain( ) ) -SubObjectPropertyOf(ObjectPropertyChain( ) ) SubObjectPropertyOf(ObjectPropertyChain( ) ) SubObjectPropertyOf(ObjectPropertyChain( ObjectInverseOf()) ) SubObjectPropertyOf(ObjectPropertyChain( ) ) @@ -1660,17 +1802,17 @@ DLSafeRule(Body(ObjectPropertyAtom( V DLSafeRule(Annotation(rdfs:comment "If a molecular function (X) has a regulatory subfunction, then any gene product which is an input to that subfunction has an activity that directly_regulates X. Note: this is intended for cases where the regaultory subfunction is protein binding, so it could be tightened with an additional clause to specify this.") Annotation(rdfs:label "inferring direct reg edge from input to regulatory subfunction") Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) DLSafeRule(Annotation(rdfs:label "inferring direct neg reg edge from input to regulatory subfunction") Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) DLSafeRule(Annotation(rdfs:label "inferring direct positive reg edge from input to regulatory subfunction") Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) -DLSafeRule(Annotation(rdfs:label "effector input is compound function input") Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) -DLSafeRule(Annotation(rdfs:label "Input of effector is input of its parent MF") Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) -DLSafeRule(Annotation(rdfs:comment "if effector directly regulates X, its parent MF directly regulates X") Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) -DLSafeRule(Annotation(rdfs:comment "if effector directly positively regulates X, its parent MF directly positively regulates X") Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) -DLSafeRule(Annotation(rdfs:label "if effector directly negatively regulates X, its parent MF directly negatively regulates X") Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) -DLSafeRule(Annotation(rdfs:label "'causally downstream of' and 'overlaps' should be disjoint properties (a SWRL rule is required because these are non-simple properties).") Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ClassAtom(owl:Nothing Variable()) ClassAtom(owl:Nothing Variable()))) -DLSafeRule(Annotation(rdfs:label "'causally upstream of' and 'overlaps' should be disjoint properties (a SWRL rule is required because these are non-simple properties).") Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ClassAtom(owl:Nothing Variable()) ClassAtom(owl:Nothing Variable()))) -DLSafeRule(Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) -DLSafeRule(Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) -DLSafeRule(Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) -DLSafeRule(Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) -DLSafeRule(Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) -DLSafeRule(Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) +DLSafeRule(Annotation(rdfs:label "effector input is compound function input") Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) +DLSafeRule(Annotation(rdfs:label "Input of effector is input of its parent MF") Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) +DLSafeRule(Annotation(rdfs:comment "if effector directly regulates X, its parent MF directly regulates X") Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) +DLSafeRule(Annotation(rdfs:comment "if effector directly positively regulates X, its parent MF directly positively regulates X") Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) +DLSafeRule(Annotation(rdfs:label "if effector directly negatively regulates X, its parent MF directly negatively regulates X") Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) +DLSafeRule(Annotation(rdfs:label "'causally downstream of' and 'overlaps' should be disjoint properties (a SWRL rule is required because these are non-simple properties).") Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ClassAtom(owl:Nothing Variable()) ClassAtom(owl:Nothing Variable()))) +DLSafeRule(Annotation(rdfs:label "'causally upstream of' and 'overlaps' should be disjoint properties (a SWRL rule is required because these are non-simple properties).") Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ClassAtom(owl:Nothing Variable()) ClassAtom(owl:Nothing Variable()))) +DLSafeRule(Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) +DLSafeRule(Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) +DLSafeRule(Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) +DLSafeRule(Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) +DLSafeRule(Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) +DLSafeRule(Body(ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) ) \ No newline at end of file diff --git a/src/ontology/imports/wikidata_import.owl b/src/ontology/imports/wikidata_import.owl index db8a686..9e996ae 100644 --- a/src/ontology/imports/wikidata_import.owl +++ b/src/ontology/imports/wikidata_import.owl @@ -7,8 +7,8 @@ xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> - - 2023-06-01 + + 2023-09-28