サブジェクト、述語、オブジェクトをNトリプル形式のRDFファイルから抽出してCSVファイルに保存するにはどうすればよいですか?RDF Nトリプルファイルからサブジェクト、述語、オブジェクトを抽出
答えて
単純な変換では、N-Triplesファイルをグローバル検索して置き換えるだけで、適切な場所にカンマを挿入し、各行の最後に完全停止を削除します。
RDF値にはコンマが含まれ、リテラル値にはデータ型(^^xsd:int
)または言語タグ(@en
)が付加されます。 CSVの使用目的に応じて、この値を何とかエスケープする必要があります。
おそらく最も簡単な方法は、そう、引用符で全体の事を入れて、コンマと引用符のすべての出現をエスケープすることです:
"a literal, like, string"@en
は次のようになります。
"\"a literal\, like\, string\"@en"
は、このすべてを考えると、あなたはどちらかできますテキストエディタ(vimがこれに適しています)で正規表現の魔法を使うか、ファイルを変換する簡単なプログラムを書くことができます。たとえば、JavaとRDF4Jを使用して、あなたはこのようなものを使用してファイルを変換できます。
FileInputStream ntriples = new FileInputStream("...");
Model rdf = Rio.parse(ntriples, "", RDFFormat.NTRIPLES);
try (FileWriter csvWriter = new FileWriter(...)) {
for (Statement st: rdf) {
csvWriter.write(convert(st.getSubject()));
csvWriter.write(", ");
csvWriter.write(convert(st.getPredicate()));
csvWriter.write(", ");
csvWriter.write(convert(st.getObject()));
csvWriter.write("\n");
}
}
convert
方法が適切に引用さに
IRI
、
BNode
または
Literal
を変換するために必要な魔法を行い
...そして逃げられたString値 - 私はあなたが上で言及したものを与えられたあなた自身のためにそれを働かせることができるはずです。このアプローチの利点は、N-Triplesだけでなく、Rioがパーサを持つあらゆるタイプのRDF構文に対しても機能することです。
また、opencsvやjackson-dataformat-csvなどのCSV解析/書き込みライブラリを使用することもできます。言ったように:オプションは無限です。
ありがとうございました。私はあなたに知らせようとします。 – Mahmud
"Model rdf = Rio.parse(ntriples、RDFFormat.NTRIPLES);"という文を書くときにエラーが発生します。タイプRioのメソッドparse(InputStream、String、RDFFormat、Resource ...)は引数(File、RDFFormat)には適用されません – Mahmud
ああ、コードサンプルで間違いがあります。今修正されました。将来の参照のために、http://docs.rdf4j.org/にあるRDF4Jのドキュメント(API Javadocとサンプルを含む)を見つけることができます。 –
- 1. NLPライブラリを使って文から述語とサブジェクトを抽出するには?
- 2. RDFの語彙と述語
- 3. サブジェクトから述語を検索する方法URINode
- 4. SPARQLサブジェクトとそのすべてのスーパークラスのすべての述語オブジェクトのペア
- 5. RDFの対象述語オブジェクト・トリプレットについて
- 6. OWL APIを使用して、特定のサブジェクト - 述語 - オブジェクトの関係を強制できますか?
- 7. RDFを使用している場合、LinkedInプロファイルからRDFを抽出
- 8. コアデータ:述語のオブジェクト
- 9. nlpを使ってサブジェクト動詞オブジェクトを抽出する方法java
- 10. ファイルから単語を抽出する
- 11. オーディオクリップから単語を抽出する
- 12. ファイルから単語を抽出する
- 13. ハスケルではどのようにm-ary述語とn-ary述語をとり、(m + n)-ary述語を構築できますか?
- 14. N進述語評価の関数(count_if)
- 15. 述語を超える抽象化
- 16. イベント抽出とN進関係抽出
- 17. 抽出Nラインが
- 18. 私は述語オブジェクトのクローンを作成したい述語
- 19. 複数のオントロジーを持つRDFファイルからトリプルを抽出する
- 20. ゼファーASDL(抽象構文記述言語)
- 21. nsオブジェクトからノットを抽出する
- 22. JSONオブジェクトから文字列を抽出
- 23. ggplot2オブジェクトからaesを抽出する
- 24. AJAX - JSONオブジェクトから情報を抽出
- 25. 証明書のサブジェクト属性のすべての値を抽出
- 26. 文字列オブジェクトのn番目からn番目の文字を抽出します。
- 27. MatlabでVLFeatのSIFT記述子からVLADを抽出
- 28. SPFieldNumberオブジェクトからの数値の抽出
- 29. jsオブジェクトからのTypescript抽出知識
- 30. jsonオブジェクトからのデータの抽出
ビットは広く、曖昧です。なぜこれが必要ですか?これはどのようなプログラミング言語/ツールで起こるはずですか?あなたは何をやってみましたか? –
実際、RDFファイルの任意のフォーマットからsubject、predicate、objectをトリプルテーブルの3つのカラムに抽出したいと思います。たとえば、subject、predicate、objectの列の値はそれぞれID1、Type、Bookになります。 – Mahmud
私は参照してください。これを反映するためにあなたの質問を編集してください:具体的かつ具体的な質問をしてください。また、これまでに試したことと、これが(できれば)起こるべき言語を含めることを忘れないでください。最後に、良い質問をする方法に関するヒントを見てみましょう。将来は良い答えを得るチャンスを向上させます。 –