我已經建立了一個網絡爬蟲,收集數據並將其存儲在rdf/xml文件中,現在我想將這些數據映射到我的java對象...我該怎麼做?將RDF/XML數據映射到java對象
我發現這段代碼對我來說可能是有用的,但我似乎無法正確使用它......它從我的rdf/xml文件中收集主語,謂詞和對象,但我可以用我的java的指定的對象,我不知道如何...我用Google搜索了很多,但存在的arent這個多少有用的東西,所以幫傢伙!d
StmtIterator iter = rdfGraph.listStatements();
while (iter.hasNext()) {
Statement stmt = iter.nextStatement(); // get next statement
Resource subject = stmt.getSubject();
//System.out.print(subject.getNameSpace() + subject.getLocalName());// get the subject
Property predicate = stmt.getPredicate();
//System.out.print(" " + predicate.getNameSpace() + predicate.getLocalName());// get the predicate
RDFNode object = stmt.getObject(); // get the object
//System.out.println(" " + object.toString() + "\n");
System.out.println(subject + " | "+predicate + " | " + object);
}
這是我的RDF文件的一部分...
<rdf:Description rdf:nodeID="A12">
<schema:reviewRating rdf:nodeID="A13"/>
<schema:description>descriptiooooon</schema:description>
<schema:datePublished>2012-02-22</schema:datePublished>
<schema:author>Nick M.</schema:author>
<rdf:type rdf:resource="http://schema.org/Review"/>
</rdf:Description>
我想用這個java對象來代表它..這是我的課...
@Namespace(Constants.SCHEMA)
@RdfType("Review")
public class Review extends Thing{
@RdfProperty(Constants.SCHEMA + "author")
private String author;
@RdfProperty(Constants.SCHEMA + "reviewRating")
private Rating reviewRating;
@RdfProperty(Constants.SCHEMA + "datePublished")
private Date datePublished;
@RdfProperty(Constants.SCHEMA + "description")
private String description;
}
ian你能幫助我更多與此?我添加了一塊我的rdf/xml和java類... – Andrej
任何幫助嗎?我真的堅持這個... – Andrej
嗨安德烈,抱歉不要早日迴應,我一直很忙。它看起來像你分享的代碼是一些JenaBean代碼 - 我把鏈接放在我原來的答案中。正如我之前所說,JenaBean不是一個積極維護的項目,因此它可能不適用於當前版本的Jena。我的建議是忘記將資源投入到Java bean中,然後使用我建議的代碼示例使用RDF模型API。如果您不確定如何做到這一點,我建議您向Jena用戶列表發送更完整的代碼示例。有關如何執行此操作,請參閱http://jena.apache.org/help_and_support/index.html。 –