セマンティック Web で使用するデータを格納するプロジェクトに取り組んだ場合、内部データ形式として RDF または OWL を使用しますか? それとも、相互運用性のために RDF にマップする独自のデータ モデル/オントロジーを持っていますか?
RDF を使用している場合、循環型クラス階層などのさまざまなものを実装した経験はありますか?
独自のことを行う場合、RDF/OWL とどう違うのですか?
セマンティック Web で使用するデータを格納するプロジェクトに取り組んだ場合、内部データ形式として RDF または OWL を使用しますか? それとも、相互運用性のために RDF にマップする独自のデータ モデル/オントロジーを持っていますか?
RDF を使用している場合、循環型クラス階層などのさまざまなものを実装した経験はありますか?
独自のことを行う場合、RDF/OWL とどう違うのですか?
私は HP の Jena チームと一緒に働いています (実際、私自身も Jena に貢献しています)。ただし、「次のベンチ」の利便性だけではありません。セマンティック Web のさまざまな標準にはかなりの詳細と複雑さが含まれており、それを正しく理解することは自分で行うのは簡単なことではありません。たとえば、IRI 仕様に準拠していないダウンロード可能なオントロジーやその他のデータセットを多数見つけました。完全に自己完結型のアプリケーションでは、標準に対して手抜きをしてもあまり問題にならない可能性がありますが、その場合、そもそもなぜセマンティック Web 技術を使用しているのかを尋ねる必要があります。私にとって、アプリケーションに対する semweb アプローチの大きな価値は、データ相互運用性とオープン データ リンクです。
私のデータのほとんどはトリプル ストアにありますが、カスタム テーブルをよくあるクエリのインデックスとして使用しています。事前にクエリ パターンを知っていれば、優れたデータベース エンジンで十分にインデックスが作成されたテーブルは、一般的なスキーマレス トリプル ストアに勝るものはありません。
明らかに、Jena を使用することの 1 つの欠点は、それが Java 固有であることです。私は jruby で Jena を使用していますが、優れたネイティブ Ruby RDF ライブラリを楽しみにしています (作業が進行中です)。また、複雑なリッチ クライアント インターフェイスを実行する場合に備えて、Javascript と Flex でより完全な RDF/OWL をサポートしたいと考えています。
イアン
私は現在、この分野でいくつかの非常に小さなプロジェクトに取り組んでおり、そこで「ほとんど」RDF を使用していますが、解析の目的で、データ構造自体の循環を避けるために単純な URI レジストリを使用しています。とはいえ、私はまだこれらのプロジェクトの構想段階にあると言わざるを得ません。結局、私は主に Jena や rdflib などのサードパーティのストレージ バックエンドに依存しています。