2011-02-10 8 views
0

私は、Jenaフレームワークを使っているオントロジーから、オントロジーで定義された全く同じセマンティックを取得するモデルをロードする方法を知りたいと思います。行うことが可能ですJenaフレームワークを使用してオントロジーに基づいてメモリ内モデルをロードする方法は?

<owl:Class rdf:ID="DigitalCamera"> 
    <rdf:type owl:ObjectProperty /> 
</owl:Class> 

Resource r = myModel.getResource(myNS + "DigitalCamera"); 
OntClass cls = (OntClass) r.as(OntClass.class); 

しかし、私は私は約Jean ontology API は、その後、次の例を与えるなどのオントロジーモデル、クラス、上

を動作させる可能性を与えましたDigitalCameraクラス/インスタンス上で直接手をつないで、次のようにOntClassまたはResourceを通過しないように探しています:

DigitalCamera camera = new DigitalCamera(); 

そのカメラの特定のプロパティを検索すると、私はそれに直接アクセスして、DSLのようなデータのセマンティックに焦点を当てることができます。 Jenaはどのようなオントロジーを表すこのような専用の(生成された)フレームワークを提案していますか?

おかげ

答えて

0

RDFの強度は、データモデルが可鍛性であるということであるということであるあなたが求めているものをやって概念的な問題が、あります。これは、「誰でも何かについて何でも言うことができる」と表現されることがあります。言い換えると、アプリケーションの状態は、一度にグラフの内容によって完全に定義されます。リソースrに現在rdf:type foaf:Personがあると仮定すると、が、例えばrdf:type skos:Conceptとなるように、グラフが完全に変更可能であり、正当な可能性があります。または、実際には、両方になる。したがって、何らかのORMを使用して、リソースを不変のJavaクラスPersonまたはConceptとして表現するリスクが不完全または古くなる可能性があります。これは、(部分的に)Jenaがそれをしない理由です:Jenaの状態は、RDFグラフの内容に完全に基づいています。

このリスクを受け入れるか、アプリケーションではリソースURIからJavaオブジェクトクラスへのマッピングが根本的に変わる可能性はほとんどないことがわかっています。助けます。私は一例としてJenaBeanを見ることをお勧めします。