2011-10-21 9 views
4

私は、ユーザのアクティビティの認識にオントロジーを使用しています....私はオントロジー(OWL)をオブジェクトのプロパティと一緒に使用する様々なクラスから構成しています.....Javaを使用してオントロジの一貫性をチェックする方法

私はオントロジーを初めて知り、それについて多くのことを読んだ後でも混乱しています....
クラスはさまざまなプロパティを使って別のクラスと関連して定義されています...とにかくです特定のクラスのオブジェクトが別のクラスに関係しているかどうかを調べることができます。どのように私はABoxがオントロジーの用語部分(私が理解するようにTBox)と一貫性があるかどうかをチェックする

私は自分のオントロジーを作成するためにprotegeを使いました。また、GUIバージョンのSWOOPと共にjenaとpellet reasonerを使って一貫性をチェックしようとしました.....

私は完全に混乱しています。

答えて

0

私は以前にProtegeによって作成されたオントロジーに対処するためにJena APIを使用しました。イエナは、間違いなく混乱しています。しかし、これらは私がそれを把握助けるために使用される資源である:それは働いていた方法を理解するためには

、我々は非常にシンプルを作成し、いくつかのスパイクをしましたOWLファイルを作成し、Jenaを使用してJavaを作成し、必要なものをどのように入手できるかを確認しました。コードは捨て去りましたが、OWLファイルとJena APIについて理想的な状況で少し学ぶことができました。

2

SWOOPは古くなっていますが、GUIを使用する場合は、Protoge 4を使用することをお勧めします。ペレットの使用については、tutorial onlineを参照してください。

OWLをプログラムで使用する場合は、Jenaに対してOWLAPIを使用することをお勧めします。 JenaはRDF中心のAPIであり、OWLAPIはOWL用に設計されているため、OWL関連の作業を行うときに作業する方が簡単です。つまり、Jenaははるかに特徴的です。

/*Load your ontology from a local file and do the initialisations*/ 
File inputfile = new File("ontologyPath"); 
OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); ; 
OWLDataFactory dataFactory = manager.getOWLDataFactory(); 
OWLOntology yourOntology = manager.loadOntologyFromOntologyDocument(inputfile); 
IRI ontologyIRI = yourOntology.getOntologyID().getOntologyIRI(); 

/* Load a reasoner, the default one that comes with the OWL API is HermiT. 
    However, You can use other reasoners, such as Fact++ or Pellet, by 
    downloading their libraries and adding them to your project build path */ 
OWLReasonerFactory reasonerFactory = new Reasoner.ReasonerFactory(); 
OWLReasonerreasoner = reasonerFactory.createReasoner(yourOntology); 

/* Perform consistency check */ 
boolean consistency = reasoner.isConsistent(); 

またOWL APIウェブサイト上の例をチェックアウト:

0

これは、Java OWL APIで整合性チェックを行うことができる方法です。

Berkan

関連する問題