簡體   English   中英

如何將RDF轉換為字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM