どの Web アプリケーションでもそうであるように、3 つ以上のレイヤーのアーキテクチャを決定する必要があります。
ストレージ層
オントロジー操作のためのツール (Jena、Virtuoso、Sesame、Protege) のほとんどは、インプロセス (メモリ内) モデル、RDB モデル (選択した RDBMS)、ネイティブ形式のストレージなど、データを格納するためのさまざまな方法を提供します。どちらを選択するかは、環境の制約とパフォーマンス/スケーラビリティの要件によって異なります。
操作レイヤー
ここでソリューションを選択すると、抽象化のレベルと表現力の間に常に何らかのトレードオフが生じます。これは、すべてのオントロジー構造をオブジェクト指向構造にマッピングするのは難しいためです。
次のいずれかを選択できます。
Jastor は Jena をラップするOntModel
かModel
、Jena の内部を隠します。Jastor はもうメンテナンスされていないようです。
表現層
操作層テクノロジを使用すると、オントロジーの内部を表現ビューから隠すことができるため、JSP などの従来のテクノロジを使用して HTML 出力を生成できます。それでも、問題によっては、モデルを RDF/XML 形式で発行し、それに XSL(T) のような変換を適用すると便利な場合があります。Python ベースのツールである rx4RDF は、この種の変換をサポートするのに役立ちます。
免責事項:私は 6 年前に上記のテクノロジを使用して作業を行いました。その間に状況が変わった可能性があります。したがって:
- さまざまな既存のセマンティック Web アプリケーションのアーキテクチャを見て、自分の問題に合ったものを見つけることをお勧めします。たとえば、こちら。
- セマンティック Web ツールの分野では多くの作業が行われてきましたが、これはまだニッチ テクノロジです。質問の対象を絞り込むには、製品のメーリング リストや調査フォーラムで質問してみてください。
- また、W3Cは RDF 処理用のツールのかなり長いリストを保持しています。