gpt4 book ai didi

namespaces - 如何使用 Jena 向 OntClass 添加远程命名空间

转载 作者:行者123 更新时间:2023-12-04 17:01:18 26 4
gpt4 key购买 nike

我是 Jena 和语义网的新手。
我现在正在使用 Jena 制作一个具有 OntClass "Person"的模型。这是我尝试过的:

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());
它有效!

关于namespaces - 如何使用 Jena 向 OntClass 添加远程命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62697324/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com