gpt4 book ai didi

java - OWLAPI 和声明公理要求

转载 作者:行者123 更新时间:2023-12-01 12:02:33 36 4
gpt4 key购买 nike

整体引用代码:https://github.com/jottinger/ontology

我正在创建一个本体并填充它(我认为正确)。结构已经存在,但我还没有验证它。

但是,我仍然期待声明出现,但我不知道为什么它们丢失了。我认为这与前缀管理器有关(因为每个元素都由命名空间完全限定),但我不知道如何实例化一个新的前缀管理器以便我可以注册命名空间。

以下是添加子类关系的代码:

val clazz = getOntClass(node.name)

val parent = getOntClass(data(node.p).name)
val hasClazz = getOntObjectProperty("has" + node.name)
val hasClazzSomeClazz = df.getOWLObjectSomeValuesFrom(hasClazz, clazz)

val hasParent = getOntObjectProperty("has" + data(node.p).name)
val hasParentSomeParent = df.getOWLObjectSomeValuesFrom(hasParent, parent)
m.applyChanges(List(
new AddAxiom(o, df.getOWLDeclarationAxiom(clazz)),
new AddAxiom(o, df.getOWLDeclarationAxiom(clazz)),
new AddAxiom(o, df.getOWLDeclarationAxiom(parent)),
new AddAxiom(o, df.getOWLSubClassOfAxiom(clazz, parent)),
new AddAxiom(o, df.getOWLDeclarationAxiom(hasClazz)),
new AddAxiom(o, df.getOWLSubClassOfAxiom(parent, hasClazzSomeClazz)),
new AddAxiom(o, df.getOWLDeclarationAxiom(parent)),
new AddAxiom(o, df.getOWLDeclarationAxiom(hasParent)),
new AddAxiom(o, df.getOWLSubObjectPropertyOfAxiom(hasClazz, hasParent))
))

假设这是一个有效的结构。 (这个项目的一部分是学习本体如何工作。)但我不知道如何让声明出现,并且这个本体被用作另一个需要该信息的进程的输入。

最佳答案

您不需要多次声明事物;这些声明完全相同。除此之外,你的代码似乎是正确的(我在这里说的是 OWL API;我对 Scala 的了解不足以判断 Scala 代码的正确性)

关于java - OWLAPI 和声明公理要求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27887490/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com