diff --git a/docs/odk-workflows/RepositoryFileStructure.md b/docs/odk-workflows/RepositoryFileStructure.md index bd788c2..3567404 100644 --- a/docs/odk-workflows/RepositoryFileStructure.md +++ b/docs/odk-workflows/RepositoryFileStructure.md @@ -26,3 +26,8 @@ Components, in contrast to imports, are considered full members of the ontology. 2. A part of the ontology is managed in ROBOT templates 3. The expressivity of the component is higher than the format of the edit file. For example, people still choose to manage their ontology in OBO format (they should not) missing out on a lot of owl features. They may choose to manage logic that is beyond OBO in a specific OWL component. +These are the components in FBBI + +| Filename | URL | +| -------- | --- | +| orcidio.owl | None | diff --git a/src/ontology/Makefile b/src/ontology/Makefile index 5823286..d3da4a6 100644 --- a/src/ontology/Makefile +++ b/src/ontology/Makefile @@ -10,7 +10,7 @@ # More information: https://github.com/INCATools/ontology-development-kit/ # Fingerprint of the configuration file when this Makefile was last generated -CONFIG_HASH= 2896ea1d0cc1ffaf7742742d22644a31d17bfe0a130e6e37dd4a9babf75985d3 +CONFIG_HASH= 298f0b177bd11c6df8f99fe6755aa350025828149603d6f6ac06eb3ee26ca76d # ---------------------------------------- @@ -57,7 +57,7 @@ OBODATE ?= $(shell date +'%d:%m:%Y %H:%M') VERSION= $(TODAY) ANNOTATE_ONTOLOGY_VERSION = annotate -V $(ONTBASE)/releases/$(VERSION)/$@ --annotation owl:versionInfo $(VERSION) ANNOTATE_CONVERT_FILE = annotate --ontology-iri $(ONTBASE)/$@ $(ANNOTATE_ONTOLOGY_VERSION) convert -f ofn --output $@.tmp.owl && mv $@.tmp.owl $@ -OTHER_SRC = +OTHER_SRC = $(COMPONENTSDIR)/orcidio.owl ONTOLOGYTERMS = $(TMPDIR)/ontologyterms.txt EDIT_PREPROCESSED = $(TMPDIR)/$(ONT)-preprocess.owl @@ -155,7 +155,7 @@ custom_robot_plugins: .PHONY: extra_robot_plugins -extra_robot_plugins: +extra_robot_plugins: $(ROBOT_PLUGINS_DIRECTORY)/odk.jar # Install all ROBOT plugins to the runtime plugins directory @@ -175,6 +175,9 @@ $(ROBOT_PLUGINS_DIRECTORY)/%.jar: # Specific rules for supplementary plugins defined in configuration +$(ROBOT_PLUGINS_DIRECTORY)/odk.jar: + curl -L -o $@ https://github.com/INCATools/odk-robot-plugin/releases/download/odk-robot-plugin-0.3.3/odk.jar + # ---------------------------------------- # Release assets @@ -407,7 +410,7 @@ $(IMPORTDIR)/merged_import.owl: $(MIRRORDIR)/merged.owl $(ALL_TERMS) \ $(ROBOT) merge --input $< \ extract $(foreach f, $(ALL_TERMS), --term-file $(f)) $(T_IMPORTSEED) \ --force true --copy-ontology-annotations false \ - --individuals include \ + --individuals exclude \ --method BOT \ remove $(foreach p, $(ANNOTATION_PROPERTIES), --term $(p)) \ $(foreach f, $(ALL_TERMS), --term-file $(f)) $(T_IMPORTSEED) \ @@ -443,6 +446,44 @@ no-mirror-refresh-%: $(MAKE) --assume-new=$(SRC) --assume-new=$(IMPORTDIR)/$*_terms.txt \ IMP=true IMP_LARGE=true MIR=false PAT=false $(IMPORTDIR)/$*_import.owl +# ---------------------------------------- +# Components +# ---------------------------------------- +# Some ontologies contain external and internal components. A component is included in the ontology in its entirety. + +ifeq ($(COMP),true) +.PHONY: all_components +all_components: $(OTHER_SRC) + +.PHONY: recreate-components +recreate-components: + $(MAKE) --assume-new=$(TMPDIR)/stamp-component-orcidio.owl \ + COMP=true IMP=false MIR=true PAT=true all_components + +.PHONY: no-mirror-recreate-components +no-mirror-recreate-components: + $(MAKE) --assume-new=$(TMPDIR)/stamp-component-orcidio.owl \ + COMP=true IMP=false MIR=false PAT=true all_components + +.PHONY: recreate-% +recreate-%: + $(MAKE) --assume-new=$(TMPDIR)/stamp-component-$*.owl \ + COMP=true IMP=false MIR=true PAT=true $(COMPONENTSDIR)/$*.owl + +.PHONY: no-mirror-recreate-% +no-mirror-recreate-%: + $(MAKE) --assume-new=$(TMPDIR)/stamp-component-$*.owl \ + COMP=true IMP=false MIR=false PAT=true $(COMPONENTSDIR)/$*.owl + +$(COMPONENTSDIR)/%.owl: $(TMPDIR)/stamp-component-%.owl | $(COMPONENTSDIR) + test -f $@ || touch $@ +.PRECIOUS: $(COMPONENTSDIR)/%.owl + +$(TMPDIR)/stamp-component-%.owl: | $(TMPDIR) + touch $@ +.PRECIOUS: $(TMPDIR)/stamp-component-%.owl + +endif # COMP=true # ---------------------------------------- # Mirroring upstream ontologies # ---------------------------------------- diff --git a/src/ontology/catalog-v001.xml b/src/ontology/catalog-v001.xml index 8d94d6a..36ecb74 100644 --- a/src/ontology/catalog-v001.xml +++ b/src/ontology/catalog-v001.xml @@ -2,5 +2,6 @@ + \ No newline at end of file diff --git a/src/ontology/components/orcidio.owl b/src/ontology/components/orcidio.owl new file mode 100644 index 0000000..d8807e1 --- /dev/null +++ b/src/ontology/components/orcidio.owl @@ -0,0 +1,45 @@ +Prefix(:=) +Prefix(owl:=) +Prefix(rdf:=) +Prefix(xml:=) +Prefix(xsd:=) +Prefix(rdfs:=) + + +Ontology( + +Annotation(owl:versionInfo "2026-06-22") + +Declaration(Class()) +Declaration(NamedIndividual()) +Declaration(NamedIndividual()) +Declaration(NamedIndividual()) +Declaration(AnnotationProperty()) +Declaration(AnnotationProperty()) + + + +############################ +# Named Individuals +############################ + +# Individual: (Damien Goutte-Gattat) + +AnnotationAssertion(Annotation( ) "researcher ORCID ID = 0000-0002-6095-8718") +AnnotationAssertion(Annotation( ) rdfs:label "Damien Goutte-Gattat") +ClassAssertion( ) + +# Individual: (David Osumi-Sutherland) + +AnnotationAssertion(Annotation( ) "researcher") +AnnotationAssertion(Annotation( ) rdfs:label "David Osumi-Sutherland") +ClassAssertion( ) + +# Individual: (Willy W Wong) + +AnnotationAssertion(Annotation( ) "researcher ORCID ID = 0000-0002-8841-5870") +AnnotationAssertion(Annotation( ) rdfs:label "Willy W Wong") +ClassAssertion( ) + + +) \ No newline at end of file diff --git a/src/ontology/fbbi-edit.owl b/src/ontology/fbbi-edit.owl index d11562a..c0c4871 100644 --- a/src/ontology/fbbi-edit.owl +++ b/src/ontology/fbbi-edit.owl @@ -7,6 +7,7 @@ Prefix(rdfs:=) Ontology( +Import() Import() Annotation( ) Annotation( ) diff --git a/src/ontology/fbbi-odk.yaml b/src/ontology/fbbi-odk.yaml index 217e9f3..2a9a15c 100644 --- a/src/ontology/fbbi-odk.yaml +++ b/src/ontology/fbbi-odk.yaml @@ -5,12 +5,20 @@ documentation: documentation_system: mkdocs namespaces: - http://purl.obolibrary.org/obo/FBbi_ +robot_plugins: + plugins: + - name: odk + mirror_from: https://github.com/INCATools/odk-robot-plugin/releases/download/odk-robot-plugin-0.3.3/odk.jar import_group: use_base_merging: true + slme_individuals: exclude products: - id: ro - id: omo - id: iao +components: + products: + - filename: orcidio.owl robot: reasoner: ELK repo: fbbi diff --git a/src/ontology/fbbi.Makefile b/src/ontology/fbbi.Makefile index a930223..6615073 100644 --- a/src/ontology/fbbi.Makefile +++ b/src/ontology/fbbi.Makefile @@ -3,3 +3,11 @@ ## If you need to customize your Makefile, make ## changes here rather than in the main Makefile +# Automatically generate the orcidio component from ORCID references +# within the ontology. +# Of note, ODK 1.7 will have built-in support for this, so once ODK 1.7 +# is out we should replace this with the built-in feature. +$(COMPONENTSDIR)/orcidio.owl: $(TMPDIR)/stamp-component-%.owl $(EDIT_PREPROCESSED) | $(COMPONENTSDIR) all_robot_plugins + $(ROBOT) remove --input $(EDIT_PREPROCESSED) --select imports --trim false \ + odk:extract-orcids \ + $(ANNOTATE_CONVERT_FILE) diff --git a/src/ontology/imports/merged_import.owl b/src/ontology/imports/merged_import.owl index 6341ea9..2852dd2 100644 --- a/src/ontology/imports/merged_import.owl +++ b/src/ontology/imports/merged_import.owl @@ -7,8 +7,8 @@ Prefix(rdfs:=) Ontology( - -Annotation(owl:versionInfo "2026-03-30") + +Annotation(owl:versionInfo "2026-06-22") Declaration(Class()) Declaration(Class()) @@ -151,44 +151,6 @@ 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(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) Declaration(NamedIndividual()) Declaration(NamedIndividual()) Declaration(NamedIndividual()) @@ -207,9 +169,6 @@ Declaration(NamedIndividual()) Declaration(NamedIndividual()) Declaration(NamedIndividual()) Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) -Declaration(NamedIndividual()) Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) @@ -228,6 +187,7 @@ Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) +Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) Declaration(AnnotationProperty()) @@ -375,6 +335,7 @@ TransitiveObjectProperty() # Object Property: (preceded by) AnnotationAssertion( "x is preceded by y if and only if the time point at which y ends is before or equivalent to the time point at which x starts. Formally: x preceded by y iff ω(y) <= α(x), where α is a function that maps a process to a start point, and ω is a function that maps a process to an end point."@en) +AnnotationAssertion( "http://www.obofoundry.org/ro/#OBO_REL:preceded_by") AnnotationAssertion( ) AnnotationAssertion(rdfs:label "preceded by"@en) SubObjectPropertyOf( ) @@ -426,6 +387,7 @@ ObjectPropertyRange( (has participant) AnnotationAssertion( "a relation between a process and a continuant, in which the continuant is somehow involved in the process"@en) +AnnotationAssertion( "http://www.obofoundry.org/ro/#OBO_REL:has_participant") AnnotationAssertion(rdfs:label "has participant"@en) ObjectPropertyDomain( ) ObjectPropertyRange( ) @@ -697,6 +659,7 @@ SubObjectPropertyOf( (temporally related to) +AnnotationAssertion( "https://docs.google.com/document/d/1kBv1ep_9g3sTR-SD3jqzFqhuwo9TPNF-l-9fUDbO6rM/edit?pli=1"^^xsd:anyURI) AnnotationAssertion( ) AnnotationAssertion(rdfs:comment "A relation that holds between two occurrents. This is a grouping relation that collects together all the Allen relations.") AnnotationAssertion(rdfs:label "temporally related to"@en) @@ -1432,9 +1395,9 @@ AnnotationAssertion(rdfs:label "kina SubClassOf( ) SubClassOf( ObjectHasSelf()) -# Class: (data item) +# Class: (data entity) -AnnotationAssertion( "An information content entity that is intended to be a truthful statement about something (modulo, e.g., measurement precision or other systematic errors) and is constructed/acquired by a method which reliably tends to produce (approximately) truthful statements."@en) +AnnotationAssertion( "An information content entity that is intended to be one or more truthful statement(s) about something (modulo, e.g., measurement precision or other systematic errors) and is constructed/acquired by a method which reliably tends to produce (approximately) truthful statements."@en) AnnotationAssertion(rdfs:label "data entity"@en) AnnotationAssertion(rdfs:label "data item"@en) SubClassOf( ) @@ -1513,461 +1476,96 @@ SubClassOf( (Western Australian Mulga Shrublands Ecoregion) - -AnnotationAssertion( ) -AnnotationAssertion( "2019-03-05T17:25:21Z"^^xsd:dateTime) -AnnotationAssertion( "Western Australia Ecoregion") -AnnotationAssertion( "WWF:AA1310") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/aa1310") -AnnotationAssertion(rdfs:label "Western Australian Mulga Shrublands Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Australasia Ecoregion) - -AnnotationAssertion( ) -AnnotationAssertion( "2019-03-05T17:51:32Z"^^xsd:dateTime) -AnnotationAssertion( "https://www.worldwildlife.org/biomes/deserts-and-xeric-shrublands") -AnnotationAssertion(rdfs:label "Australasia Ecoregion"@en) - -# Individual: (Tirari-Sturt Stony Desert Ecoregion) - -AnnotationAssertion( ) -AnnotationAssertion( "2019-03-05T17:52:41Z"^^xsd:dateTime) -AnnotationAssertion( "Southern central Australia Ecoregion"@en) -AnnotationAssertion( "WWF:AA1309") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/aa1309") -AnnotationAssertion(rdfs:label "Tirari-Sturt Stony Desert Ecoregion") -ObjectPropertyAssertion( ) - -# Individual: (Simpson Desert Region) - -AnnotationAssertion( ) -AnnotationAssertion( "2019-03-05T17:54:35Z"^^xsd:dateTime) -AnnotationAssertion( "Eastern central Australia Ecoregion") -AnnotationAssertion( "WWF:AA1308") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/aa1308") -AnnotationAssertion(rdfs:label "Simpson Desert Region"@en) -ObjectPropertyAssertion( ) - -# Individual: (Pilbara Shrublands Ecoregion) - -AnnotationAssertion( ) -AnnotationAssertion( "2019-03-05T17:56:13Z"^^xsd:dateTime) -AnnotationAssertion( "Western Australia Ecoregion") -AnnotationAssertion( "WWF:AA1307") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/aa1307") -AnnotationAssertion(rdfs:label "Pilbara Shrublands Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Carnarvon Xeric Shrublands Ecoregion) - -AnnotationAssertion( ) -AnnotationAssertion( "2019-03-05T18:10:52Z"^^xsd:dateTime) -AnnotationAssertion( "Western coast of Australia Ecoregion") -AnnotationAssertion( "WWF:AA1301") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/aa1301") -AnnotationAssertion(rdfs:label "Carnarvon Xeric Shrublands Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Central Ranges Xeric Shrub Ecoregion) - -AnnotationAssertion( ) -AnnotationAssertion( "2019-03-05T18:12:28Z"^^xsd:dateTime) -AnnotationAssertion( "Central Australia Ecoregion") -AnnotationAssertion( "WWF:AA1302") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/aa1302") -AnnotationAssertion(rdfs:label "Central Ranges Xeric Shrub Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Gibson Desert Ecoregion) - -AnnotationAssertion( ) -AnnotationAssertion( "2019-03-05T18:15:11Z"^^xsd:dateTime) -AnnotationAssertion( "Western central Australia") -AnnotationAssertion( "WWF:AA1303") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/aa1303") -AnnotationAssertion(rdfs:label "Gibson Desert Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (The Great Sandy-Tanami Desert Ecoregion) - -AnnotationAssertion( ) -AnnotationAssertion( "2019-03-05T18:17:15Z"^^xsd:dateTime) -AnnotationAssertion( "Northwestern Australia") -AnnotationAssertion( "WWF:AA1304") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/aa1304") -AnnotationAssertion(rdfs:label "The Great Sandy-Tanami Desert Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Great Victoria Desert Ecoregion) - -AnnotationAssertion( ) -AnnotationAssertion( "2019-03-05T18:24:06Z"^^xsd:dateTime) -AnnotationAssertion( "Southern Australia Ecoregion") -AnnotationAssertion( "WWF:AA1305") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/aa1305") -AnnotationAssertion(rdfs:label "Great Victoria Desert Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Nullarbor Plains Xeric Shrubland Ecoregion) - -AnnotationAssertion( ) -AnnotationAssertion( "2019-03-05T18:26:16Z"^^xsd:dateTime) -AnnotationAssertion( "Southern Australia Ecoregion") -AnnotationAssertion( "WWF:AA1306") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/aa1306") -AnnotationAssertion(rdfs:label "Nullarbor Plains Xeric Shrubland Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Afrotropical Ecoregion) - -AnnotationAssertion( ) -AnnotationAssertion( "2019-03-06T22:01:41Z"^^xsd:dateTime) -AnnotationAssertion( "https://www.worldwildlife.org/biomes/deserts-and-xeric-shrublands") -AnnotationAssertion(rdfs:label "Afrotropical Ecoregion"@en) - -# Individual: (Succulent Karoo Ecoregion) - -AnnotationAssertion( ) -AnnotationAssertion( "2019-03-06T22:02:37Z"^^xsd:dateTime) -AnnotationAssertion( "Southern Africa: Southern Namibia into South Africa") -AnnotationAssertion( "WWF:AT1322") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/at1322") -AnnotationAssertion(rdfs:label "Succulent Karoo Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Yemen and Saudi Arabia Ecoregion) - -AnnotationAssertion( ) -AnnotationAssertion( "2019-03-06T22:07:38Z"^^xsd:dateTime) -AnnotationAssertion( "WWF:AT1321") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/at1321") -AnnotationAssertion( "Arabian Peninsula: Yemen and Saudi Arabia") -AnnotationAssertion(rdfs:label "Yemen and Saudi Arabia Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Yemen, Saudi Arabia, and Oman Ecoregion) - -AnnotationAssertion( ) -AnnotationAssertion( "2019-03-06T22:11:38Z"^^xsd:dateTime) -AnnotationAssertion( "WWF:AT1320") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/at1320") -AnnotationAssertion( "Arabian Peninsula: Yemen, Saudi Arabia, and Oman") -AnnotationAssertion(rdfs:label "Yemen, Saudi Arabia, and Oman Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Somali Montane Xeric Woodland Ecoregion) - -AnnotationAssertion( ) -AnnotationAssertion( "2019-03-06T22:13:00Z"^^xsd:dateTime) -AnnotationAssertion( "WWF:AT1319") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/at1319") -AnnotationAssertion( "Somali montane xeric woodlands ecoregion") -AnnotationAssertion(rdfs:label "Somali Montane Xeric Woodland Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Socotran Archipelago Ecoregion) - -AnnotationAssertion( "2019-03-06T22:15:07Z"^^xsd:dateTime) -AnnotationAssertion( "Islands east of the Horn of Africa and south of Yemen Ecoregion") -AnnotationAssertion( "WWF:AT1318") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/at1318") -AnnotationAssertion(rdfs:label "Socotran Archipelago Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Red Sea Coastal Desert Ecoregion) - -AnnotationAssertion( "2019-03-06T22:18:55Z"^^xsd:dateTime) -AnnotationAssertion( "WWF:AT1317") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/at1317") -AnnotationAssertion(rdfs:label "Red Sea Coastal Desert Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Namibian Savanna Woodland Ecoregion) - -AnnotationAssertion( "2019-03-06T22:20:56Z"^^xsd:dateTime) -AnnotationAssertion( "WWF:AT1316") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/at1316") -AnnotationAssertion(rdfs:label "Namibian Savanna Woodland Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Namib Desert Ecoregion) - -AnnotationAssertion( "2019-03-06T22:24:28Z"^^xsd:dateTime) -AnnotationAssertion( "Africa: Namibia Ecoregion") -AnnotationAssertion( "WWF:AT1315") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/at1315") -AnnotationAssertion(rdfs:label "Namib Desert Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Nama Karoo Ecoregion) - -AnnotationAssertion( "2019-03-06T22:26:15Z"^^xsd:dateTime) -AnnotationAssertion( "WWF:AT1314") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/at1314") -AnnotationAssertion(rdfs:label "Nama Karoo Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Masai Xeric Grasslands and Shrublands Ecoregion) - -AnnotationAssertion( "2019-03-06T22:28:43Z"^^xsd:dateTime) -AnnotationAssertion( "WWF:AT1313") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/at1313") -AnnotationAssertion(rdfs:label "Masai Xeric Grasslands and Shrublands Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Madagascar Succulent Woodlands Ecoregion) - -AnnotationAssertion( "2019-03-06T22:30:23Z"^^xsd:dateTime) -AnnotationAssertion( "WWF:AT1312") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/at1312") -AnnotationAssertion(rdfs:label "Madagascar Succulent Woodlands Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Madagascar Spiny Thickets Ecoregion) - -AnnotationAssertion( "2019-03-06T22:31:29Z"^^xsd:dateTime) -AnnotationAssertion( "WWF:AT1311") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/at1311") -AnnotationAssertion( "Madagascar spiny desert ecoregion") -AnnotationAssertion(rdfs:label "Madagascar Spiny Thickets Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Kaokoveld Desert Ecoregion) - -AnnotationAssertion( "2019-03-06T22:39:32Z"^^xsd:dateTime) -AnnotationAssertion( "WWF:AT1310") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/at1310") -AnnotationAssertion( "Africa: Coastal Namibia and Angola Ecoregion") -AnnotationAssertion(rdfs:label "Kaokoveld Desert Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Kalahari Xeric Savanna Ecoregion) - -AnnotationAssertion( "2019-03-06T22:42:47Z"^^xsd:dateTime) -AnnotationAssertion( "WWF:AT1309") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/at1309") -AnnotationAssertion(rdfs:label "Kalahari Xeric Savanna Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Ile Europa and Bassas da India Ecoregion) - -AnnotationAssertion( "2019-03-06T22:44:54Z"^^xsd:dateTime) -AnnotationAssertion( "WWF:AT1308") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/at1308") -AnnotationAssertion( "Southern Africa: Islands about half-way between southern Madagascar and southern Mozambique Ecoregion") -AnnotationAssertion(rdfs:label "Ile Europa and Bassas da India Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Hobyo Grassland and Shrubland Ecoregion) - -AnnotationAssertion( "2019-03-06T22:46:58Z"^^xsd:dateTime) -AnnotationAssertion( "Eastern Africa: Somalia") -AnnotationAssertion( "WWF:AT1307") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/at1307") -AnnotationAssertion(rdfs:label "Hobyo Grassland and Shrubland Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Oman and United Arab Emirates Ecoregion) - -AnnotationAssertion( "2019-03-06T22:54:57Z"^^xsd:dateTime) -AnnotationAssertion( "WWF:AT1306") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/at1306") -AnnotationAssertion( "Arabian Peninsula: Oman and United Arab Emirates Ecoregion") -AnnotationAssertion(rdfs:label "Oman and United Arab Emirates Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Ethiopian Xeric Grasslands and Shrublands Ecoregion) - -AnnotationAssertion( "2019-03-07T00:08:06Z"^^xsd:dateTime) -AnnotationAssertion( "WWF:AT1305") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/at1305") -AnnotationAssertion(rdfs:label "Ethiopian Xeric Grasslands and Shrublands Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Eritrean Coastal Desert Ecoregion) - -AnnotationAssertion( "2019-03-07T00:11:29Z"^^xsd:dateTime) -AnnotationAssertion( "WWF:AT1304") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/at1304") -AnnotationAssertion(rdfs:label "Eritrean Coastal Desert Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (East Saharan Montane Xeric Woodland Ecoregion) - -AnnotationAssertion( "2019-03-07T00:13:33Z"^^xsd:dateTime) -AnnotationAssertion( "WWF:AT1303") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/at1303") -AnnotationAssertion( "North central Africa: Eastern Chad and small area of western Sudan") -AnnotationAssertion(rdfs:label "East Saharan Montane Xeric Woodland Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Oman, Yemen, and Saudi Arabia Ecoregion) - -AnnotationAssertion( "2019-03-07T00:16:12Z"^^xsd:dateTime) -AnnotationAssertion( "WWF:AT1302") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/at1302") -AnnotationAssertion( "Western Asia: Oman, Yemen, and Saudi Arabia Ecoregion") -AnnotationAssertion(rdfs:label "Oman, Yemen, and Saudi Arabia Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Aldabra Island Xeric Scrub Ecoregion) - -AnnotationAssertion( "2019-03-07T00:18:09Z"^^xsd:dateTime) -AnnotationAssertion( "WWF:AT1301") -AnnotationAssertion( "https://www.worldwildlife.org/ecoregions/at1301") -AnnotationAssertion(rdfs:label "Aldabra Island Xeric Scrub Ecoregion"@en) -ObjectPropertyAssertion( ) - -# Individual: (Indo-Malay Ecoregion) - -AnnotationAssertion( "2019-04-26T23:38:50Z"^^xsd:dateTime) -AnnotationAssertion( ) -AnnotationAssertion(rdfs:label "Indo-Malay Ecoregion"@en) - -# Individual: (Thar Desert) - -AnnotationAssertion( "2019-04-26T23:40:13Z"^^xsd:dateTime) -AnnotationAssertion( ) -AnnotationAssertion( "WWF:IM1304") -AnnotationAssertion( "Southern Asia: Western India into Pakistan") -AnnotationAssertion(rdfs:label "Thar Desert"@en) -ObjectPropertyAssertion( ) - -# Individual: (Northwestern Thorn Scrub Forests) - -AnnotationAssertion( "2019-04-27T00:12:51Z"^^xsd:dateTime) -AnnotationAssertion( ) -AnnotationAssertion( "WWF:IM1303") -AnnotationAssertion( "Southern Asia: Eastern India and western Pakistan") -AnnotationAssertion(rdfs:label "Northwestern Thorn Scrub Forests"@en) -ObjectPropertyAssertion( ) - -# Individual: (Solar radiation) - -AnnotationAssertion( "Stellar radiation emitted from Sol.") -AnnotationAssertion(rdfs:label "Solar radiation"@en) -ObjectPropertyAssertion( ) - # Individual: (example to be eventually removed) AnnotationAssertion(rdfs:label "example to be eventually removed"@en) -ClassAssertion( ) # Individual: (failed exploratory term) AnnotationAssertion( "The term was initially used in an attempt to structure part of the ontology, but in retrospect failed to do a good job."@en) -AnnotationAssertion( "The term was used in an attempt to structure part of the ontology but in retrospect failed to do a good job"@en) AnnotationAssertion(rdfs:label "failed exploratory term"@en) -ClassAssertion( ) # Individual: (metadata complete) 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) -ClassAssertion( ) # Individual: (organizational term) -AnnotationAssertion( "Term created to ease viewing/sort terms for development purpose, and will not be included in a release"@en) AnnotationAssertion( "The term was created to ease viewing/sorting terms for development purposes, but will not be included in a release."@en) AnnotationAssertion(rdfs:label "organizational term"@en) -ClassAssertion( ) # Individual: (ready for release) 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) -ClassAssertion( ) # Individual: (metadata incomplete) 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) -ClassAssertion( ) # Individual: (uncurated) AnnotationAssertion( "Nothing done yet beyond assigning a unique class ID and proposing a preferred term."@en) AnnotationAssertion(rdfs:label "uncurated"@en) -ClassAssertion( ) # Individual: (pending final vetting) 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: (placeholder removed) AnnotationAssertion( "The term was created to temporarily stand in for a semantic purpose, but is no longer needed, typically due to another permanent term being defined."@en) AnnotationAssertion(rdfs:label "placeholder removed"@en) -ClassAssertion( ) # Individual: (terms merged) AnnotationAssertion( "The term has been combined with one or more other terms to create a more encompassing (merged) term."@en) AnnotationAssertion(rdfs:label "terms merged"@en) -ClassAssertion( ) # Individual: (term imported) AnnotationAssertion( "The term has been replaced by a term imported from another ontology."@en) AnnotationAssertion(rdfs:label "term imported"@en) -ClassAssertion( ) # Individual: (term split) AnnotationAssertion( "The term has been split into two or more new terms."@en) AnnotationAssertion(rdfs:label "term split"@en) -ClassAssertion( ) # Individual: (universal) AnnotationAssertion(rdfs:label "universal"@en) -ClassAssertion( ) # Individual: (defined class) AnnotationAssertion( "A defined class is a class that is defined by a set of logically necessary and sufficient conditions but is not a universal"@en) AnnotationAssertion(rdfs:label "defined class"@en) -ClassAssertion( ) # Individual: (named class expression) AnnotationAssertion( "A named class expression is a logical expression that is given a name. The name can be used in place of the expression."@en) AnnotationAssertion(rdfs:label "named class expression"@en) -ClassAssertion( ) # Individual: (to be replaced with external ontology term) AnnotationAssertion( "Terms with this status should eventually replaced with a term from another ontology."@en) AnnotationAssertion(rdfs:label "to be replaced with external ontology term"@en) -ClassAssertion( ) # Individual: (requires discussion) 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(rdfs:label "requires discussion"@en) -ClassAssertion( ) # Individual: (out of scope) AnnotationAssertion( "The term was added to the ontology on the assumption it was in scope, but it turned out later that it was not."@en) AnnotationAssertion(rdfs:label "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(rdfs:label "domain entity does not exist") -ClassAssertion( ) SubClassOf(ObjectSomeValuesFrom( ) ObjectUnionOf(ObjectSomeValuesFrom( ObjectSomeValuesFrom( )) ObjectSomeValuesFrom( ObjectSomeValuesFrom( ObjectSomeValuesFrom( ))))) -DifferentIndividuals( ) -DifferentIndividuals( ) SubObjectPropertyOf(ObjectPropertyChain( ) ) SubObjectPropertyOf(ObjectPropertyChain( ) ) SubObjectPropertyOf(ObjectPropertyChain( ) ) @@ -2020,13 +1618,9 @@ SubObjectPropertyOf(ObjectPropertyChain( ) ) SubObjectPropertyOf(ObjectPropertyChain( ) ) DLSafeRule(Body(ClassAtom( Variable()) ObjectPropertyAtom( Variable() Variable()) ClassAtom( Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) -DLSafeRule(Body(ClassAtom( Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) DLSafeRule(Body(ClassAtom( Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) -DLSafeRule(Body(ClassAtom( Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) DLSafeRule(Body(ClassAtom( Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) -DLSafeRule(Body(ClassAtom( Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) DLSafeRule(Body(ClassAtom( Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) -DLSafeRule(Body(ClassAtom( Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) DLSafeRule(Body(ClassAtom( Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) DLSafeRule(Annotation(rdfs:comment "GP(X)-enables->MF(Y)-has_part->MF(Z) => GP(X) enables MF(Z), e.g. if GP X enables ATPase coupled transporter activity' and 'ATPase coupled transporter activity' has_part 'ATPase activity' then GP(X) enables 'ATPase activity'") Annotation(rdfs:label "enabling an MF enables its parts") Body(ClassAtom( Variable()) ObjectPropertyAtom( Variable() Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) @@ -2047,4 +1641,6 @@ DLSafeRule(Body(ObjectPropertyAtom( V 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()))) +AnnotationAssertion(Annotation( ) "researcher") +AnnotationAssertion(Annotation( ) rdfs:label "David Osumi-Sutherland") ) \ No newline at end of file