我是耶拿和语义网的新手。
我现在正在使用耶拿制作一个具有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());
它有效!