我需要使用OWL-API在Ontology中创建一个类,而不添加任何实例。
我检查了示例和文档,但是创建了类的所有位置以及个人/实例。有没有办法在没有任何实例的情况下创建类(以及之后的文档)
答案 0 :(得分: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);
为了在保存本体时输出任何实体,必须在本体中包含的某些公理中使用它。在这个例子中,该公理是类声明;它可以是子类公理或断言(在这种情况下,将创建一个实例)。
答案 1 :(得分:0)
如果我想创建一个建模元素,例如没有来自输入字符串的实例的类,我会做类似的事情:
OWLEntity entity = factory.getOWLEntity(EntityType.CLASS, IRI.create(input));
EntityType.CLASS
可以更改为其他元素,例如EntityType.ObjectProperty
。这是我处理这个问题的方式,当我想添加实例时,我只是向本体管理器添加一个新的公理。