如何使用耶拿将远程命名空间添加到 OntClass



我是耶拿和语义网的新手。

我现在正在使用耶拿制作一个具有OntClass"人"的模型。这是我尝试过的:

OntModel model = ModelFactory.createOntologyModel();
String NS = http://purl.org/ontology#
model.setNsPrefix("Ont", NS);
model.setNsPrefix("foaf", "http://xmlns.com/foaf/0.1#");  
OntClass person = model.createClass(NS + "Person");
person.setSameAs(FOAF.Person);
person.addProperty(FOAF.account, "account");

但它似乎不起作用,因为在生成 Turtle 文件时,我收到:

Ont:Person  a    owl:Class ;
owl:sameAs    <http://xmlns.com/foaf/0.1/Person> ;
<http://xmlns.com/foaf/0.1/account>
"account" .

而不是拥有:

@prefix foaf:    <http://xmlns.com/foaf/spec/#> .
Ont:Person  a    owl:Class ;
owl:sameAs    foaf:Person ;
foaf:account        "account" .

那么将OntModel中的OntClass链接到远程命名空间的正确方法是什么?在这种情况下,它是将我的OntClass人员链接到"http://xmlns.com/foaf/0.1#">

提前感谢您的帮助!

实际上我只需要替换:

model.setNsPrefix("foaf", "http://xmlns.com/foaf/0.1#");  

model.setNsPrefix("foaf", FOAF.getURI());

它有效!

最新更新