2012-05-07 20 views
5

私はこのようになりますそのRDFを作成する必要があります:あなたが見ることができるように、ネストされた構造と同様に、空白ノードがあるJenaからネストされたRDF/XMLを取得するには?

<rdf:Description rdf:about='uri1'> 
    <namespace:level1> 
    <rdf:Description> 
     <namespace:blankNode rdf:resource='uri2'/> 
     <namespace:text></namespace:text> 
    </rdf:Description> 
    </namespace:level1> 
</rdf:Description> 

<rdf:Description rdf:about="uri2"> 
    some properties here 
</rdf:Description> 

。 (それは私の構造における「blankNode」プロパティの正確な用語だ場合、私は知りません。)私は

model.write(System.out, "RDF/XML-ABBREV"); 

が、その後も、空白ノードがネストされている使用している場合は、私はしたくないいます。 Jenaを使ってこのような構造を得る方法はありますか?または、これをよりうまく処理できる他のJava用ライブラリがありますか?

答えて

6

あなたはこれを間違った方向に行っていると思います。

ネスティングは、ツリーを話すときにのみ意味を成す概念です。しかし、RDFは木ではなく、トリプルについてです。しばらくの間XMLの構造について忘れて、XMLでコード化されたトリプルについて考えてください。私はmodel.write(System.out, "N-TRIPLES");が最も役に立ちます。

まず、RDF/XMLファイルで表現するトリプルを理解する必要があります。適切なトリプルを表現する限り、一方のノードが他方のノードの内側に入れ子になっているかどうかは関係ありません。これらはインデントのような純粋に「美容的」な質問です。

+0

ありがとうございました!それは構造のための要件が​​私に与えられたので、学校プロジェクトのためです:)。しかし、私は今教授と話し合い、それを変えました。 – user1355348

+0

cygriに完全に同意して、model.write(System.out、 "TURTLE")も試してください。 (より人道的なシリアライゼーション)、そのRDF/XMLのシリアル化を見ているRDFについて学ぶことを忘れてしまいます。 「奇妙な要件」を変更することを求めるのは良いことです。 ;-) – castagna

+0

あなたの教授を "啓発"するのはうまくいっています!あなたは間違いなくそれに+1する価値があります;-) – cygri

関連する問題