2011-12-04 6 views

答えて

3

を提出あなたの質問への部品:CSVファイルにアウトイエナModelの内容の書き込みを

  • RDFにファイルを変換イエナModel
  • にOWLファイルを読み込む

    これらの第一および第三の(Model.read()Model.write()方法を参照して、異なる場所からの読み取りのためのいくつかの付加的な便宜をサポートするためFileManager)イエナと容易です。

    2番目の部分はトリッキーなものです。通常、CSVファイルをRDFに変換するとき、各行が1つのRDFリソースとそのプロパティを表すと仮定します。あなたは、達成するための3つのタスクを持っている:

    1. をデータ指定された列の値を表すRDFプロパティーのURIを決定
    2. の行のいくつかのキーに基づいてリソースを表すURIを、決定
    3. 各列の値を適切なリソースURIまたはリテラル値にマッピングします。

    はたとえば、以下のCSVを考慮してください。

    id,name,age,occupation 
    2718,fred,107,ninja 
    

    我々はRDF述語の名前を提案するCSVの最初の行を使用することができます。 foaf:namefoaf:ageは、最初の2つの列には適切な選択肢ですが、3列目の列の新しい名前空間に新しい述語が必要な場合があります。http://example.com/vocab#occupationリソースURIは、データのキーが何であれ、この場合はidの列に基づいており、最初の行で指定されたリソースのURIはhttp://example.com/data/employee/2718となります。最後に、データをマップする必要があります。名前は単なる文字列であり、年齢は整数であり、職業はリソースです。

    <http://example.org/data/employee/2718> 
        a foaf:Person; 
        foaf:name "fred"; 
        foaf:age "107"^^xsd:integer; 
        example_com:occupation <http://dbpedia.org/resource/Ninja>. 
    

    W3CワーキングドラフトR2RMLは、翻訳のこれらの種類を実行するための標準化されたマッピング言語を定義しています。これらの選択肢を考えると、我々は次のように出力で終わることがあります。様々なimplementations of R2RMLが利用可能です。もちろん、マッピングがかなり安定している場合は、特定の入力データに対してCSVからの変換を実行するためのコードを書くだけで簡単になります。

  • 関連する問題