出力をどのように生成しているかはわかりませんが、最も可能性の高い説明は、デフォルトの出力形式を使用しているということですRDF/XML
。代わりに、
yourModel.write( outStream, "RDF/XML-ABBREV" );
例ごとにネストされた要素を含む可能性が最も高い、よりコンパクトな構造が得られます。
ただし、「しかし」があります。
「入れ子になった要素を持つRDFを作成する必要がある」理由については言いません。Jena によって生成されるすべての出力は、RDF トリプル レベルで意味的に同等です。準拠している RDF プロセッサは、RDF/XML としてシリアル化されたモデル、省略されているかどうか、Turtle、n トリプルなどを解析することによって同じモデルを生成します。したがって、出力を別の RDF プロセスに渡す場合、出力にネストされた構造があるかどうか。
ただし、出力を XML ツールチェーンにフィードしたい場合、これはより困難になる可能性があります。RDF XML エンコーディングは非常に複雑です。さらに、Jena XML ライターは、特定の順序で要素をシリアライズすることを保証しません。Model
書いている内容によっては、XML 構造がかなり異なって見える場合があります。これにより、たとえば、XSLT スタイルシートの作成が難しくなる可能性があります。
RDF XML を XML ツールチェーンにパイプすることを計画している場合は、XML ツールが信頼できる形式で信頼性の高い出力を生成するカスタム ライターを作成するか、SPARQL を使用してモデルにクエリを実行し、SPARQL の XML エンコーディングを使用することをお勧めします。 XML パイプラインへの入力としての結果セット。SPARQL のXML エンコーディングは、完全な RDF/XML よりも規則的であり、後続の XML 処理のより優れた基盤です。