2

特定のrdfファイルを特定のxmlファイルに変換する必要があるという要件があります。したがって、3つの入力RDFSファイル、RDFファイルおよびXSDファイルがあります。これらを使用して、RDFファイルのデータを含むXMLファイル(XSDに準拠している必要があります)を作成する必要があります。RDFスキーマには、単純で複雑な関係エンティティが含まれています。RDFで定義されている関係は、XSDで定義されている関係とは異なります。

同じものを実装する方法がいくつかあります。

  1. RDFファイルをXMLファイルに変換するためのロジックを定義するXSLTを作成します。
  2. カスタムC#アプリを作成します。同じことをするために(LinqToRDFなどのRDFライブラリを使用して)

どのオプションがより良いか、そして同じものへのポインタについてガイドしてください。

よろしく、

4

2 に答える 2

0

同じ RDF データをさまざまな方法で RDF/XML にエンコードできるため、RDF/XML を他の形式に変換するのに XSLT を使用するのは一般的にはお勧めできません。

そのため、RDF/XML 入力が厳密に制御されていない限り、通常、純粋な XSLT 変換は非常に難しく、維持するのが困難です。

RDF の C# 操作については、トリプル レベルで RDF を操作するための API を提供するdotNetRDF (免責事項 - 私はライブラリを開発しています) を試してみてください。RDF に定期的な繰り返し構造がある場合、そのデータを抽出する最も簡単な方法は、SPARQL クエリを使用して、RDF から関連性のあるデータを取得することです。結果 (構造は DataTable に似ており、扱いやすい場合は DataTable にキャストできます) が得られたら、必要に応じて XML ファイルを生成できます。

これが実行可能なオプションであると思われる場合は、ヘルプ/アドバイスが必要な場合は、プロジェクトのメーリング リストにメールを送ってください。

于 2011-04-12T14:10:30.033 に答える
0

まず第一に、それは「どちらか、または」の決定ではありません。XSLT 変換をカスタム C# コードと簡単に組み合わせることができます。それは言った:

私の経験では、変換にあまり多くのロジックが含まれていない場合は、XSLT が最適です。XSLT を使用して、タグの名前を変更したり、階層をフラット化または再配置したりするのは簡単ですが、「if-then-else」ロジックが必要な場合は厄介になる可能性があります。 .. そうでなければ、タグ B を作成します。

RDF で定義された関係は、XSD で定義された関係とは異なります。

かなりの「if-then-else」および「look up」ロジックを含む複雑な変換のように聞こえます。その場合、私はおそらく、より C# 中心のソリューションを使用するでしょう。

于 2011-04-12T05:37:32.643 に答える