2012-03-25 98 views
0

以下是我的RDF文件结构。从java中的RDF文件读取值

<rdf:RDF 
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" > 
    <rdf:Description rdf:about="http://www.wordpress.com/blogs/ckj"> 
    <rdf:subject>Data structures</rdf:subject> 
    <rdf:object>vijayalakshmi</rdf:object> 
    <rdf:value>kjhjk</rdf:value> 
    </rdf:Description> 
</rdf:RDF> 

我想要写一块java代码可以 - >读取的值插入到一个Java程序中的模型。

我应该怎么做?

我是新手。所以,请帮助!

+0

我不确定,但这应该可以由STAX解析器解析。对此的一个很好的参考是在http://www.vogella.de/articles/JavaXML/article.html#javastax – 2012-03-25 09:10:49

+2

上面的评论是没有根据的。不要使用XML解析器来解析RDF/XML。使用RDF解析器(可能在内部使用XML解析器) – 2012-03-25 16:22:42

+0

发布在jena用户上的相同问题:http://mail-archives.apache.org/mod_mbox/incubator-jena-users/201203.mbox/%3CCAEUzCGA7ZXyMyL_WZz9fgGyiynPPgnsWwCfLrbPaBFX4%3DmUufw %40mail.gmail.com%3E(该线程包含答案)。 – castagna 2012-03-25 20:20:36

回答

1
  1. 你应该看看一个众所周知的API从Java进程RDF:Jena
  2. 你的样品似乎无效。您正试图用三种不适用于设计的语句来描述资源(http://incubator.apache.org/jena/)。
1

为了详细说明@ymomb答案,您创建的RDF资源在概念上不是很健全。您正在使用核心RDF词汇表中的词语(您不应该使用文字作为rdf:subject的范围)。它有点难以再代表你的资源,因为一对夫妇的陈述包括胡言乱语,但像下面会更合适:

<rdf:RDF 
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> 
    <rdf:Description rdf:about="http://www.wordpress.com/blogs/ckj"> 
    <rdfs:label>Data structures</rdfs:label> 
    </rdf:Description> 
</rdf:RDF> 

在Java中再次使用这个,的建议,@ymomb,你可以使用耶拿。

Model rdfModel = ModelFactory.createDefaultModel().read("url-of-rdf-resource.rdf");