生成rdf数据时添加了重复的IRI前缀

时间:2018-02-14 06:49:43

标签: java rdf jena owl

我已阅读OWL文件并使用Java Jena库设置IRI,如下所示

String foafIRI = "http://xmlns.com/foaf/0.1/";
model.setNsPrefix( "foaf" , foafIRI);

之后,我添加了属性来定义类似下面的类型

subject.addProperty(RDF.type, model.createProperty(foafIRI,"person"));

并设置IRI,因为我需要使用迭代器动态生成,如下所示

NsIterator namespace = model.listNameSpaces();
int count1 = 0;
while(namespace.hasNext()) {
    count1++;
    model.setNsPrefix("ns"+count1, namespace.next());
}

生成RDF数据后,我得到一个输出,如下两个相同的前缀,名称不同,

@prefix foaf:    <http://xmlns.com/foaf/0.1/> .
@prefix ns4: <http://xmlns.com/foaf/0.1/>.

正如你所看到的,我不想要这两个前缀我只想要一个名字手动设置的前缀&#34; foaf&#34;并且不需要&#34; ns4&#34;因为我已经使用&#34; foaf&#34;。

设置了前缀

我不知道为什么会这样。任何人,请帮助我解决我的问题我没有找到任何关于这个问题。如果你能帮助我,这对我很有帮助。谢谢你提前。

0 个答案:

没有答案