私はセマンティックWebとその機能ファミリーを紹介されたばかりですが、その一部を理解するのに苦労しています。誰かが私に説明してくれることを望んでいました。
私が理解している限り、RDFはいくつかの構文で書くことができます。RDF/ XML、Turtleなど。
今、私はXMLを理解しています。それがどのように提示され、どのように解析できるか。ただし、タートル構文で書く人もいますが、その情報をどのように解析するのでしょうか。タートル構文で書かれた情報を別の形式に「抽出」するための言語の単一のライブラリが見つからないようです。同じことがN3にも当てはまります。どのように使用できますか?実行されますか?
RDFaを理解できたようです。それがRDFをXHTMLに実装する方法であること。私にとって、それはRDFを「何か」に実装する方法です。しかし、どうすればそれをタートルやN3などと比較できますか?
前もって感謝します。
回答:
回答№1は6まず、明確にするために、「RDF」と言うときは、(基本的に)トリプルのコレクションを意味します。
<subject1> <predicate1> <object1>
<subject2> <predicate2> <object2>
...
これは単純なデータベースであり、「実行可能」ではありません。
RDFを書く方法はたくさんあります。 RDF / XMLが最も一般的ですが、学習しているときは最も明白ではありません。N-Triplesは最も単純で、トリプルを書き出すだけです。
<subject1> <predicate1> <object1> .
<subject2> <predicate2> <object2> .
...
TurtleはN-Triplesに似ていますが、ショートカットがたくさんあります。書くのはとても簡単です。たとえば、次のような場合です。
<person> <age> 21 .
<person> <friend> <bob> .
<person> <friend> <alice> .
...
カメでは、次のように書くことで繰り返しを避けることができます。
<person> <age> 21 ;
<friend> <bob> ,
<alice> .
(トリプルバージョンのように見えるように、これを複数行に書きましたが、一部が欠落しています)
ほとんどのRDFライブラリに対応するタートルパーサーがあります。Jena(java)、Redland(C)、RDFLib(python)、Trine(perl)などを参照してください。RDF/ XMLパーサーやRDFaパーサーと同じように、タートルを取り、トリプルを生成します。
RDFをロードしたら、他のデータ形式で行うことは何でも、クエリを実行して処理できます。
RDFaは、埋め込まれているため、奇妙なRDF形式です。他の何かで(トリプルに変換すると、そのほとんどは破棄されます)。 RDFaのポイントは、RDFをよりスムーズにWebに統合することです。私の個人情報のRDFバージョンとHTMLバージョンの両方を持っていることは、繰り返して、展開するのが面倒です。 RDFaを使用すると、ブラウザーとrdfコンシューマーの両方にサービスを提供する1つのドキュメントを作成できます。
回答№2の場合は0
プログラミングスキルが限られている人として、私は ARC2ライブラリ PHPの場合、RDFの処理が非常に簡単になります。開始するには、サイトに優れたドキュメントと優れた例があります。タートルを含むすべての一般的なフォーマットのパーサーが含まれており、フォーマットの検出を行い、気に入らない場合は正しいパーサーを選択します。
RDFを解析するとき、ARCは非常に単純な2つの異なるタイプの連想配列を生成します。それらの構造の説明は見つけることができます ここに.
私はそれを言うとは思っていませんでしたが、PHP + ARCは実際にRDFで動作するようになりました...楽しいです。