我想在一个由protege创建的OWL文件中添加一个新类属性。我需要更新owl文件。这是我试图添加一个类的代码。但它没有更新原始的OWL文件。只有netbeans IDE的输出提供更新的OWL文件。
OWLDataFactory df = OWLManager.getOWLDataFactory();
OWLEntity entity = df.getOWLEntity(EntityType.CLASS, IRI.create("#newclass"));
OWLAxiom declare = df.getOWLDeclarationAxiom(entity);
manager.addAxiom(ontology,declare );
答案 0 :(得分:0)
您需要创建一个OWL存储器对象:
AbstractOWLStorer storer = new FunctionalSyntaxStorer();
这里我正在创建一个以功能语法格式存储本体的存储器。您可以为不同的格式(XML等)使用不同的构造函数。
storer.storeOntology(ontology, new FileDoumentTarget(new File(filePath)), new FunctionalSyntaxDocumentFormat());
有关您要存储本体的格式的更多具体细节,请在线查看文档: http://owlcs.github.io/owlapi/apidocs_4_0_2/org/semanticweb/owlapi/util/AbstractOWLStorer.html
答案 1 :(得分:0)
您需要将本体实际保存回文件。使用
func buttonTapped(sender: UIButton) {
let point = sender.convertPoint(CGPointZero, toView:tableView)
let indexPath = tableView.indexPathForRowAtPoint(point)!
// check for last item in table
if indexPath.row < tableView.numberOfRowsInSection(indexPath.section) {
let newIndexPath = NSIndexPath(forRow:indexPath.row + 1 inSection:indexPath.section)
tableView.scrollToRowAtIndexPath(
newIndexPath, atScrollPosition:.Top, animated: true)
}
}
实现这一点。