2012-03-25 99 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");