我正在尝试通过Eclipse访问本体。我用的是owl-api。我在Protegé中创建我的本体,但是我想通过代码创建和分类新的INDIVIDUALS。怎么可能?我搜索了一切,但我找不到任何有用的信息。
宏观例如: - 具有实体'B','C'和'D'的本体'a'。 - 我创建了一个单独的'z',我想知道它是否可以是'B','C','D'或者没有实体的一部分。
我面临三个问题: - 我不知道如何创建一个类型的个人 - 我不知道如何填写个人的数据属性。 - 我不知道热得让推理器工作(好吧,我还没有尝试过,因为我不能做以前的步骤)。
你能帮帮我吗?提前谢谢!努诺
答案 0 :(得分:6)
OWL API在这里有很酷的文档:http://owlapi.sourceforge.net/documentation.html
所以,要创建一个类的个体:
OWLClass person = dataFactory.getOWLClass(":Person", pm);
OWLNamedIndividual mary = dataFactory.getOWLNamedIndividual(":Mary", pm);
OWLClassAssertionAxiom classAssertion = dataFactory.getOWLClassAssertionAxiom(person, mary);
manager.addAxiom(ontology, classAssertion);
添加一些属性:
OWLIndividual matthew = dataFactory.getOWLNamedIndividual(IRI.create(base + "#matthew"));
OWLIndividual peter = dataFactory.getOWLNamedIndividual(IRI.create(base + "#peter"));
OWLObjectProperty hasFather = dataFactory.getOWLObjectProperty(IRI.create(base + "#hasFather"));
OWLObjectPropertyAssertionAxiom assertion = dataFactory.getOWLObjectPropertyAssertionAxiom(hasFather, matthew, peter);
也有一个推理器的例子,但它更长,所以检查自己。