diff --git a/src/ontology/catalog-v001.xml b/src/ontology/catalog-v001.xml
index 5a807062..33dd81b3 100644
--- a/src/ontology/catalog-v001.xml
+++ b/src/ontology/catalog-v001.xml
@@ -10,7 +10,6 @@
-
@@ -20,5 +19,4 @@
->>>>>>> master
diff --git a/src/ontology/ro-edit.owl b/src/ontology/ro-edit.owl
index f1d01268..68645cb1 100644
--- a/src/ontology/ro-edit.owl
+++ b/src/ontology/ro-edit.owl
@@ -17,13 +17,13 @@ Prefix(oboInOwl:=)
Ontology(
+Import()
+Import()
Import()
Import()
Import()
Import()
Import()
-Import()
-Import()
Import()
Import()
Import()
@@ -34,7 +34,6 @@ Import()
Import()
Import()
Import()
-Import()
Annotation(dc:description "The OBO Relations Ontology (RO) is a collection of OWL relations (ObjectProperties) intended for use across a wide variety of biological ontologies."@en)
Annotation(dc:license )
Annotation(dc:title "OBO Relations Ontology"@en)
@@ -703,7 +702,7 @@ Declaration(AnnotationProperty(skos:exactMatch))
AnnotationAssertion(rdfs:label obo:IAO_0000112 "example of usage")
-# Annotation Property: obo:IAO_0000426 (obo:IAO_0000426)
+# Annotation Property: obo:IAO_0000426 (first order logic expression)
AnnotationAssertion(obo:IAO_0000115 obo:IAO_0000426 "An assertion that holds between an OWL Object Property and a string or literal, where the value of the string or literal is a Common Logic sentence of collection of sentences that define the Object Property.")
SubAnnotationPropertyOf(obo:IAO_0000426 obo:RO_0002422)
@@ -2311,7 +2310,6 @@ AnnotationAssertion(obo:IAO_0000114 obo:RO_0002207 obo:IAO_0000125)
AnnotationAssertion(obo:IAO_0000115 obo:RO_0002207 "Candidate definition: x directly_develops from y if and only if there exists some developmental process (GO:0032502) p such that x and y both participate in p, and x is the output of p and y is the input of p, and a substantial portion of the matter of x comes from y, and the start of x is coincident with or after the end of y.")
AnnotationAssertion(obo:IAO_0000117 obo:RO_0002207 )
AnnotationAssertion(obo:IAO_0000117 obo:RO_0002207 )
-AnnotationAssertion(oboInOwl:hasExactSynonym obo:RO_0002207 "has developmental precursor")
AnnotationAssertion(obo:IAO_0000119 obo:RO_0002207 "FBbt")
AnnotationAssertion(obo:RO_0002575 obo:RO_0002207 obo:RO_0002202)
AnnotationAssertion(oboInOwl:hasExactSynonym obo:RO_0002207 "has developmental precursor")
@@ -6478,7 +6476,7 @@ AnnotationAssertion(rdfs:seeAlso obo:RO_0016001 "https://github.com/oborel/obo-r
# Object Property: obo:RO_0016002 (has disease)
AnnotationAssertion(obo:IAO_0000115 obo:RO_0016002 "A relationship that holds between an organism and a disease. Here a disease is construed broadly as a disposition to undergo pathological processes that exists in an organism because of one or more disorders in that organism.")
-AnnotationAssertion(dc:contributor obo:RO_0016002 )
+AnnotationAssertion(dc:contributor obo:RO_0016002 )
AnnotationAssertion(dc:date obo:RO_0016002 "2021-11-05T17:30:44Z"^^xsd:dateTime)
AnnotationAssertion(rdfs:label obo:RO_0016002 "has disease")
AnnotationAssertion(rdfs:seeAlso obo:RO_0016002 "https://github.com/oborel/obo-relations/issues/478")
@@ -6501,7 +6499,7 @@ AnnotationAssertion(obo:IAO_0000117 obo:RO_0017001 )
AnnotationAssertion(obo:IAO_0000232 obo:RO_0017001 "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(obo:IAO_0000232 obo:RO_0017001 "See github ticket https://github.com/oborel/obo-relations/issues/497")
-AnnotationAssertion(oboInOwl:creation_date obo:RO_0017001 "2021-11-08T12:00:00Z")
+AnnotationAssertion(oboInOwl:creation_date obo:RO_0017001 "2021-11-08T12:00:00Z"^^xsd:dateTime)
AnnotationAssertion(oboInOwl:hasBroadSynonym obo:RO_0017001 "utilizes")
AnnotationAssertion(rdfs:label obo:RO_0017001 "device utilizes material"@en)
@@ -6608,9 +6606,9 @@ AnnotationAssertion(obo:IAO_0000115 obo:RO_0018033 "A is a deprotonated form of
This is a transitive relationship and follows this design pattern: https://oborel.github.io/obo-relations/direct-and-indirect-relations.")
AnnotationAssertion(dc:creator obo:RO_0018033 )
+AnnotationAssertion(oboInOwl:hasDbXref obo:RO_0018033 "obo:chebi#is_conjugate_base_of")
AnnotationAssertion(rdfs:label obo:RO_0018033 "is deprotonated form of")
AnnotationAssertion(rdfs:seeAlso obo:RO_0018033 )
-AnnotationAssertion(oboInOwl:hasDbXref obo:RO_0018033 "obo:chebi#is_conjugate_base_of")
SubObjectPropertyOf(obo:RO_0018033 obo:RO_0018030)
InverseObjectProperties(obo:RO_0018033 obo:RO_0018034)
TransitiveObjectProperty(obo:RO_0018033)
@@ -6622,9 +6620,9 @@ AnnotationAssertion(obo:IAO_0000115 obo:RO_0018034 "A is a protonated form of B
This is a transitive relationship and follows this design pattern: https://oborel.github.io/obo-relations/direct-and-indirect-relations.")
AnnotationAssertion(dc:creator obo:RO_0018034 )
+AnnotationAssertion(oboInOwl:hasDbXref obo:RO_0018034 "obo:chebi#is_conjugate_acid_of")
AnnotationAssertion(rdfs:label obo:RO_0018034 "is protonated form of")
AnnotationAssertion(rdfs:seeAlso obo:RO_0018034 )
-AnnotationAssertion(oboInOwl:hasDbXref obo:RO_0018034 "obo:chebi#is_conjugate_acid_of")
SubObjectPropertyOf(obo:RO_0018034 obo:RO_0018030)
TransitiveObjectProperty(obo:RO_0018034)
@@ -6654,10 +6652,10 @@ AnnotationAssertion(obo:IAO_0000115 obo:RO_0018036 "Two chemicals are tautomers
This commonly refers to prototropy in which a hydrogen's position is changed, such as between ketones and enols. This is also often observed in heterocyclic rings, e.g., ones containing nitrogens and/or have aryl functional groups containing heteroatoms.")
AnnotationAssertion(dc:creator obo:RO_0018036 )
AnnotationAssertion(dc:date obo:RO_0018036 "2023-03-18T23:49:31Z"^^xsd:dateTime)
+AnnotationAssertion(oboInOwl:hasDbXref obo:RO_0018036 "obo:chebi#is_tautomer_of")
AnnotationAssertion(oboInOwl:hasExactSynonym obo:RO_0018036 "is desmotrope of")
AnnotationAssertion(rdfs:label obo:RO_0018036 "is tautomer of"@en)
AnnotationAssertion(rdfs:seeAlso obo:RO_0018036 )
-AnnotationAssertion(oboInOwl:hasDbXref obo:RO_0018036 "obo:chebi#is_tautomer_of")
SubObjectPropertyOf(obo:RO_0018036 obo:RO_0018030)
SymmetricObjectProperty(obo:RO_0018036)
@@ -6667,9 +6665,9 @@ AnnotationAssertion(Annotation(rdfs:seeAlso obo:CHEBI_30795) Annotation(rdfs:see
AnnotationAssertion(obo:IAO_0000115 obo:RO_0018037 "Group A is a substituent group from Chemical B if A represents the functional part of A and includes information about where it is connected. A is not itself a chemical with a fully formed chemical graph, but is rather a partial graph with one or more connection points that can be used to attach to another chemical graph, typically as a functionalization.")
AnnotationAssertion(dc:creator obo:RO_0018037 )
AnnotationAssertion(dc:date obo:RO_0018037 "2023-03-18T23:49:31Z"^^xsd:dateTime)
+AnnotationAssertion(oboInOwl:hasDbXref obo:RO_0018037 "obo:chebi#is_substituent_group_from")
AnnotationAssertion(rdfs:label obo:RO_0018037 "is substitutent group from"@en)
AnnotationAssertion(rdfs:seeAlso obo:RO_0018037 )
-AnnotationAssertion(oboInOwl:hasDbXref obo:RO_0018037 "obo:chebi#is_substituent_group_from")
SubObjectPropertyOf(obo:RO_0018037 obo:RO_0018030)
# Object Property: obo:RO_0018038 (has functional parent)
@@ -6680,9 +6678,9 @@ AnnotationAssertion(obo:IAO_0000115 obo:RO_0018038 "Chemical A has functional pa
For example, the relationship between a salt and a freebased compound is a \"has functional parent\" relationship.")
AnnotationAssertion(dc:creator obo:RO_0018038 )
AnnotationAssertion(dc:date obo:RO_0018038 "2023-03-18T23:49:31Z"^^xsd:dateTime)
+AnnotationAssertion(oboInOwl:hasDbXref obo:RO_0018038 "obo:chebi#has_functional_parent")
AnnotationAssertion(rdfs:label obo:RO_0018038 "has functional parent"@en)
AnnotationAssertion(rdfs:seeAlso obo:RO_0018038 )
-AnnotationAssertion(oboInOwl:hasDbXref obo:RO_0018038 "obo:chebi#has_functional_parent")
SubObjectPropertyOf(obo:RO_0018038 obo:RO_0018030)
# Object Property: obo:RO_0018039 (is enantiomer of)
@@ -6693,10 +6691,10 @@ AnnotationAssertion(obo:IAO_0000115 obo:RO_0018039 "Chemicals A and B are enanti
A chemical with no chiral centers can not have an enantiomer. A chemical with multiple chiral centers can have multiple enantiomers, but its enantiomers are not themselves enantiomers (they are diastereomers).")
AnnotationAssertion(dc:creator obo:RO_0018039 )
AnnotationAssertion(dc:date obo:RO_0018039 "2023-03-18T23:49:31Z"^^xsd:dateTime)
+AnnotationAssertion(oboInOwl:hasDbXref obo:RO_0018039 "obo:chebi#is_enantiomer_of")
AnnotationAssertion(oboInOwl:hasExactSynonym obo:RO_0018039 "is optical isomer of")
AnnotationAssertion(rdfs:label obo:RO_0018039 "is enantiomer of"@en)
AnnotationAssertion(rdfs:seeAlso obo:RO_0018039 )
-AnnotationAssertion(oboInOwl:hasDbXref obo:RO_0018039 "obo:chebi#is_enantiomer_of")
SubObjectPropertyOf(obo:RO_0018039 obo:RO_0018030)
SymmetricObjectProperty(obo:RO_0018039)
@@ -6706,9 +6704,9 @@ AnnotationAssertion(Annotation(rdfs:seeAlso obo:CHEBI_39106) Annotation(rdfs:see
AnnotationAssertion(obo:IAO_0000115 obo:RO_0018040 "Chemical A has parent hydride Chemical B if there exists a molecular graphical transformation where functional groups on A are replaced with hydrogens in order to yield B.")
AnnotationAssertion(dc:creator obo:RO_0018040 )
AnnotationAssertion(dc:date obo:RO_0018040 "2023-03-18T23:49:31Z"^^xsd:dateTime)
+AnnotationAssertion(oboInOwl:hasDbXref obo:RO_0018040 "obo:chebi#has_parent_hydride")
AnnotationAssertion(rdfs:label obo:RO_0018040 "has parent hydride"@en)
AnnotationAssertion(rdfs:seeAlso obo:RO_0018040 )
-AnnotationAssertion(oboInOwl:hasDbXref obo:RO_0018040 "obo:chebi#has_parent_hydride")
SubObjectPropertyOf(obo:RO_0018040 obo:RO_0018030)
# Object Property: obo:RO_0019000 (regulates characteristic)
@@ -6791,16 +6789,16 @@ DataPropertyRange(obo:RO_0002029 DatatypeRestriction(xsd:short xsd:minInclusive
# Classes
############################
-# Class: obo:BFO_0000002 (obo:BFO_0000002)
+# Class: obo:BFO_0000002 (continuant)
SubClassOf(obo:BFO_0000002 ObjectAllValuesFrom(obo:RO_0002214 obo:BFO_0000002))
SubClassOf(obo:BFO_0000002 ObjectAllValuesFrom(obo:RO_HOM0000000 obo:BFO_0000002))
-# Class: obo:BFO_0000003 (obo:BFO_0000003)
+# Class: obo:BFO_0000003 (occurrent)
SubClassOf(obo:BFO_0000003 ObjectAllValuesFrom(obo:RO_HOM0000000 obo:BFO_0000003))
-# Class: obo:BFO_0000015 (obo:BFO_0000015)
+# Class: obo:BFO_0000015 (process)
SubClassOf(obo:BFO_0000015 ObjectAllValuesFrom(obo:RO_0002214 obo:BFO_0000015))
@@ -7102,4 +7100,4 @@ AnnotationAssertion(oboInOwl:inSubset obo:RO_0002086 subsets:ro-eco)
AnnotationAssertion(oboInOwl:inSubset obo:RO_0002089 subsets:ro-eco)
AnnotationAssertion(oboInOwl:inSubset obo:RO_0002093 subsets:ro-eco)
AnnotationAssertion(Annotation(rdfs:comment "This is an experimental annotation") obo:IAO_0000589 rdfs:isDefinedBy "is defined by")
-)
+)
\ No newline at end of file
diff --git a/src/sparql/term-editor-uri-violation.sparql b/src/sparql/term-editor-uri-violation.sparql
index 7fbfe309..8694dab4 100644
--- a/src/sparql/term-editor-uri-violation.sparql
+++ b/src/sparql/term-editor-uri-violation.sparql
@@ -8,7 +8,7 @@ WHERE {
VALUES ?predicate { dc:contributor dc:creator term_editor: oio:created_by }
?subject ?predicate ?orcid .
FILTER(!regex(str(?orcid), "^https://github.com/orgs/[a-z-_]+/teams/") &&
- !regex(str(?orcid), "^(https?://orcid.org/)[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{3}(?:[0-9]|X)") &&
+ !regex(str(?orcid), "^(https://orcid.org/)[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{3}(?:[0-9]|X)") &&
!regex(str(?orcid), "^(https://www.wikidata.org/wiki/Q)[0-9]+") &&
!regex(str(?orcid), "^(https://ror.org/)[0-9a-z]{9}") )
}