我正在使用com.hp.hpl.jena.rdf.model.Model.listNameSpaces()来获取Jena RDF模型中的命名空间 .
但我注意到模型可以包含listNameSpaces方法未列出名称空间的语句对象 .
例如,摄像机图形(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());
}
1 回答
API documentation for that method说:
由于
dbpedia:Nikon
和xsd:decimal
分别用作Literal的对象和类型,因此该方法不返回命名空间 .文档还说明:
他们被记录在案here .