Java 从OWL本体中获取等价类 更新:
我已经解决了这个问题。在Java中使用OWLAPI,我设法检索本体中的所有公理,其中包括我正在寻找的所有等价类。据我所知,没有直接的方法可以获得未修改的等价类。这是我使用的代码:Java 从OWL本体中获取等价类 更新:,java,python,rdf,owl,ontology,Java,Python,Rdf,Owl,Ontology,我已经解决了这个问题。在Java中使用OWLAPI,我设法检索本体中的所有公理,其中包括我正在寻找的所有等价类。据我所知,没有直接的方法可以获得未修改的等价类。这是我使用的代码: OWLOntologyManager man = OWLManager.createOWLOntologyManager(); o = man.loadOntologyFromOntologyDocument(hp); Stream<OWLLogicalAxiom> logicalAxioms = o.lo
OWLOntologyManager man = OWLManager.createOWLOntologyManager();
o = man.loadOntologyFromOntologyDocument(hp);
Stream<OWLLogicalAxiom> logicalAxioms = o.logicalAxioms();
logicalAxioms.forEach(log::println);
OWLOntologyManager man=OWLManager.createOWLOntologyManager();
o=手册文档(hp)中的手册加载日志;
Stream logicalAxioms=o.logicalAxioms();
logicalAxioms.forEach(log::println);
问题:
我有一个本体(人类表型本体,或者只是“hp”),我需要从“owl:equivalentClass”标记中的本体中引用的其他本体中提取类。例如:
对于hp类“hp_0001561”,我希望提取:
- BFO_0000051
- 帕托_0000595
- RO_uu0000052
- UBERON_0000173
- RO_0002573
- 帕托_0000460
- hp逻辑定义子Q#在
- GO_0007565
<!-- http://purl.obolibrary.org/obo/HP_0001561 -->
<owl:Class rdf:about="http://purl.obolibrary.org/obo/HP_0001561">
<rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Polyhydramnios</rdfs:label>
<owl:equivalentClass>
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.obolibrary.org/obo/BFO_0000051"/>
<owl:someValuesFrom>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<rdf:Description rdf:about="http://purl.obolibrary.org/obo/PATO_0000595"/>
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.obolibrary.org/obo/RO_0000052"/>
<owl:someValuesFrom rdf:resource="http://purl.obolibrary.org/obo/UBERON_0000173"/>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.obolibrary.org/obo/RO_0002573"/>
<owl:someValuesFrom rdf:resource="http://purl.obolibrary.org/obo/PATO_0000460"/>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.obolibrary.org/obo/hp/hp-logical-definitions-subq#during"/>
<owl:someValuesFrom rdf:resource="http://purl.obolibrary.org/obo/GO_0007565"/>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
</owl:someValuesFrom>
</owl:Restriction>
</owl:equivalentClass>
羊水过多
我已经尝试了几个库来处理owl本体,但我找不到一种方法。我在Python上试过,目前正在Java上使用OWL API。可能不需要使用
OWL:equivalentClass
关系<代码>owl:sameAs用于链接不同本体之间的概念。是的,非常正确!但我不是在这里寻找连接概念,我真的在寻找几个本体之间的交叉点,如果这有意义的话。我想提取owl:equivalentClass标记中包含的信息。鼓励您提出问题,尝试改进您的问题。其中大约一半不是类。顺便说一句,请访问中的“类映射”选项卡。