2

さて、私は問題を抱えています。誰かが光を広げてくれれば幸いです。基本的に私は以下の例を持っています

<rdf:Description rdf:about="http://test.com">
<hasX></hasX>
<hasY></hasY>
<hasA></hasA>
<hasA></hasA>
<hasA></hasA>
</rdf:Description>

私は以下を作成しようとしています:

<rdf:Description rdf:about="http://test.com">
<hasX></hasX>
<hasY></hasY>
<hasZ>
<hasA></hasA>
<hasA></hasA>
<hasA></hasA>
</hasZ>
</rdf:Description>

プロパティをプロパティに追加し、次にリソースを追加し、新しいリソースを宣言し、リテラルを追加し、これらのすべての可能な組み合わせを試しましたが、私が得たのは、必要なデータを含む新しいrdf:descriptionブロックを外部で生成することです。元のrdf:descriptionの価値がなくなります。

他の人にタグ<rdf:Description rdf:about="">を説明してほしくない。A

これが小さなテスト例です

String NS = "http://example.com/test";      
Model m = ModelFactory.createDefaultModel();
Resource r = m.createResource("http://meetup/nyc");

Property p = m.createProperty(XmlParser.NS + "hasData");
Property p2 = m.createProperty(XmlParser.NS + "hasData");
Property p3 = m.createProperty(XmlParser.NS + "hasData");

r.addProperty(p, "somedata");
r.addProperty(p2, "somedata2");
r.addProperty(p3, "somedata3");

m.write(System.out);
4

2 に答える 2

2

モデルからを作成してResourceも、そのモデルに自動的に追加されるわけではありません。私は通常add、Modelクラスのメソッドの1つを介してモデルにトリプルを追加します。

    String NS = "http://example.com/test#";
    Model m = ModelFactory.createDefaultModel();
    Resource r = m.createResource("http://meetup/nyc");

    Property p = m.createProperty(NS + "hasData");

    m.add(r, p, "somedata");
    m.add(r, p, "more data");

    m.write(System.out);

これにより、次のものが作成されます。

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
           xmlns:j.0="http://example.com/test#" > 
     <rdf:Description rdf:about="http://meetup/nyc">
         <j.0:hasData>more data</j.0:hasData>
         <j.0:hasData>somedata</j.0:hasData>
      </rdf:Description>
   </rdf:RDF>
于 2012-05-19T07:08:19.713 に答える
2

他のレスポンダーが言ったように、XMLツリー構造の観点から考えないでください。ただし、グラフをXMLツリーで表示することがモデルの理解に役立つ場合は、出力構文をコンパクトなRDF/XML形式に変更してください。

m.write( System.out, "RDF/XML-ABBREV" );
于 2012-05-19T22:41:23.620 に答える