4

JENA ライブラリを使用していくつかの RDF ファイルを作成します: Model model = ModelFactory.createDefaultModel();...どうすればこれを string に変換できますか?

どうも

4

2 に答える 2

14

次のようなものを試してください。

String syntax = "RDF/XML-ABBREV"; // also try "N-TRIPLE" and "TURTLE"
StringWriter out = new StringWriter();
model.write(out, syntax);
String result = out.toString();

これは、RDF / XML、Turtle、N-Triplesなど、サポートされているさまざまなRDF構文でRDFグラフをすでに出力できるJenaの組み込みライターを使用しています。にダンプしたいだけSystem.outの場合は、さらに簡単です。

model.write(System.out, "RDF/XML-ABBREV");
于 2012-04-12T08:52:55.840 に答える
0

RDF モデルはステートメントのセットです。モデルにプロパティを追加するたびに、Statement が作成されます...RDF モデルの Statement は「Triple」とも呼ばれます。主語 (リソース)、述語 (プロパティ)、およびオブジェクト ( 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」メソッドに注意してください。

ソース/参照: Jena - RDF (「ステートメント」セクションを確認してください)。

于 2012-04-11T21:43:17.033 に答える