diff --git a/src/main/scala/org/phenoscape/owl/Vocab.scala b/src/main/scala/org/phenoscape/owl/Vocab.scala index 061b207..630a817 100644 --- a/src/main/scala/org/phenoscape/owl/Vocab.scala +++ b/src/main/scala/org/phenoscape/owl/Vocab.scala @@ -92,6 +92,7 @@ object Vocab { val has_absence_of = ObjectProperty("http://purl.org/phenoscape/vocab.owl#has_absence_of") val has_phenotypic_profile = IRI.create("http://purl.org/phenoscape/vocab.owl#has_phenotypic_profile") val phenotype_of = ObjectProperty("http://purl.org/phenoscape/vocab.owl#phenotype_of") + val phenotype_of_part_of = ObjectProperty("http://purl.org/phenoscape/vocab.owl#phenotype_of_reflexive_part_of") val has_part_inhering_in = ObjectProperty("http://purl.org/phenoscape/vocab.owl#has_part_inhering_in") val in_taxon = ObjectProperty("http://purl.obolibrary.org/obo/RO_0002162") diff --git a/src/main/scala/org/phenoscape/owl/build/PhenoscapeKB.scala b/src/main/scala/org/phenoscape/owl/build/PhenoscapeKB.scala index 95cf235..40e6f1a 100644 --- a/src/main/scala/org/phenoscape/owl/build/PhenoscapeKB.scala +++ b/src/main/scala/org/phenoscape/owl/build/PhenoscapeKB.scala @@ -232,6 +232,7 @@ object PhenoscapeKB extends KnowledgeBaseBuilder { val hasPartsInheringIns = anatomicalEntities.flatMap(NamedRestrictionGenerator.createRestriction(has_part_inhering_in, _)) addTriples(hasPartsInheringIns, bigdata, graphURI) val phenotypeOfs = anatomicalEntities.flatMap(NamedRestrictionGenerator.createRestriction(phenotype_of, _)) + val phenotypeOfPartOfs = anatomicalEntities.flatMap(NamedRestrictionGenerator.createRestriction(phenotype_of_part_of, _)) val absences = anatomicalEntities.flatMap(AbsenceClassGenerator.createAbsenceClass) addTriples(absences, bigdata, graphURI) val namedHasPartClasses = anatomicalEntities.map(_.getIRI).map(NamedRestrictionGenerator.getRestrictionIRI(has_part.getIRI, _)).map(Class(_)) @@ -252,7 +253,7 @@ object PhenoscapeKB extends KnowledgeBaseBuilder { val allTBox = ro.axioms ++ uberon.axioms ++ homology.axioms ++ pato.axioms ++ bspo.axioms ++ vto.axioms ++ vtoToNCBI.axioms ++ zfa.axioms ++ xao.axioms ++ hp.axioms ++ mp.axioms ++ caroToUberon.axioms ++ zfaToUberon.axioms ++ xaoToUberon.axioms ++ mgiToEMAPA.axioms ++ emapaToUberon.axioms ++ eco.axioms ++ - parts ++ hasParts ++ hasPartsInheringIns ++ phenotypeOfs ++ presences ++ absences ++ absenceNegationEquivalences ++ developsFromRulesForAbsence ++ subsumers ++ tboxFromData ++ phenoscapeVocab.axioms + parts ++ hasParts ++ hasPartsInheringIns ++ phenotypeOfs ++ phenotypeOfPartOfs ++ presences ++ absences ++ absenceNegationEquivalences ++ developsFromRulesForAbsence ++ subsumers ++ tboxFromData ++ phenoscapeVocab.axioms val coreTBox = ro.axioms ++ uberon.axioms ++ homology.axioms ++ pato.axioms ++ bspo.axioms ++ vto.axioms ++ vtoToNCBI.axioms ++ zfa.axioms ++ xao.axioms ++ hp.axioms ++ mp.axioms ++ caroToUberon.axioms ++ zfaToUberon.axioms ++ xaoToUberon.axioms ++ mgiToEMAPA.axioms ++ emapaToUberon.axioms ++ eco.axioms ++