[英]How to convert RDF to string
我用JENA庫創建了一些RDF文件: Model model = ModelFactory.createDefaultModel();
...現在我怎么能把它轉換成字符串?
謝謝
嘗試這樣的事情:
String syntax = "RDF/XML-ABBREV"; // also try "N-TRIPLE" and "TURTLE"
StringWriter out = new StringWriter();
model.write(out, syntax);
String result = out.toString();
這使用了Jena的內置編寫器,這些編寫器已經可以在各種支持的RDF語法中輸出RDF圖,例如RDF / XML和Turtle和N-Triples。 如果您只想轉儲到System.out
,那么它更容易:
model.write(System.out, "RDF/XML-ABBREV");
RDF模型是一組語句 。 每次向模型添加屬性時,都會創建一個Statement ...並且RDF模型中的Statement也稱為“ Triple ”,因為它有3個部分:Subject(Resource),Predicate(Property)和Object( RDFNode - 可以是資源)。 您可以在這些對象上調用toString方法,如下面的代碼所示:
// list the statements in the Model
StmtIterator iter = model.listStatements();
// print out the predicate, subject and object of each statement
while (iter.hasNext()) {
Statement stmt = iter.nextStatement(); // get next statement
Resource subject = stmt.getSubject(); // get the subject
Property predicate = stmt.getPredicate(); // get the predicate
RDFNode object = stmt.getObject(); // get the object
System.out.print(subject.toString());
System.out.print(" " + predicate.toString() + " ");
if (object instanceof Resource) {
System.out.print(object.toString());
} else {
// object is a literal
System.out.print(" \"" + object.toString() + "\"");
}
System.out.println(" .");
}
請注意上面代碼中的'toString'方法。
來源/參考: 耶拿 - RDF (查看'聲明'部分)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.