gpt4 book ai didi

namespaces - 如何获取 Jena RDF 模型中使用的所有命名空间

转载 作者:行者123 更新时间:2023-12-04 16:50:57 25 4
gpt4 key购买 nike

我正在使用 com.hp.hpl.jena.rdf.model.Model.listNameSpaces() 来获取 Jena RDF 模型中的命名空间。

但我注意到该模型可以包含具有未被 listNameSpaces 方法列出的 namespace 的语句对象。

例如,相机图 ( http://www-users.cs.york.ac.uk/~jc/teaching/arin/camera.owl.turtle ) 包含以下对象,但它们的命名空间未出现在命名空间列表中:

http://www.dbpedia.org/resource/尼康 http://www.w3.org/2001/XMLSchema#十进制

有人知道为什么这两个 ns 不会被列出吗?谢谢。

//压缩代码:

Model model = ModelFactory.createDefaultModel();
RDFReader reader = model.getReader("TURTLE");
InputStream in = FileManager.get().open("http://www-users.cs.york.ac.uk/~jc/teaching/arin/camera.owl.turtle");
reader.read(model, in, null);

NsIterator listNameSpaces = model.listNameSpaces();
while (listNameSpaces.hasNext())
{
System.out.println("Namespace from iterator: " + listNameSpaces.next());
}

最佳答案

API documentation for that method说:

The namespaces returned are those of (a) every URI used as a property in the model and (b) those of every URI that appears as the object of an rdf:type statement.

由于 dbpedia:Nikonxsd:decimal 分别用作 Literal 的对象和类型,因此该方法不返回命名空间。

文档还指出:

(You probably don't want this method; more likely you want the PrefixMapping methods that Model supports.)

它们被记录在案here .

关于namespaces - 如何获取 Jena RDF 模型中使用的所有命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15553657/

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