3

我需要使用 OWL-API 在本体中创建一个类而不添加任何实例。

我检查了示例和文档,但所有的类都是与个人/实例一起创建的。有没有办法在没有任何实例的情况下创建类(以及稍后)

4

2 回答 2

3

永远不需要添加实例来声明和使用一个类。

例如:

OWLClass c = factory.getOWLClass(IRI.create(cInput));
OWLAxiom declareC = factory.getOWLDeclarationAxiom(c);
// adding declareC to the ontology is necessary to have any output
manager.addAxiom(ontology, declareC);

为了在保存本体时得到任何输出的实体,必须在本体中包含的一些公理中使用它。在这个例子中,这个公理就是类声明;它可以是子类公理或断言(在这种情况下,将创建一个实例)。

于 2013-10-13T19:26:27.520 回答
0

如果我想创建一个建模元素,例如没有来自输入字符串的实例的类,我会执行以下操作:

OWLEntity entity = factory.getOWLEntity(EntityType.CLASS, IRI.create(input));

EntityType.CLASS可以更改为其他元素,例如EntityType.ObjectProperty. 这是我解决这个问题的方法,当我想添加实例时,我只需向本体管理器添加一个新公理。

于 2013-10-13T08:09:31.620 回答