OWL 2の新機能で、OWL APIで ".ttl"ファイルを解析したいが、OWL APIがAPI Iと同じではないことがわかった前に使用されました。 OWLAxiomやOWLEntityなどでコンテンツを取得したい場合は、「訪問者」を作成する必要があります。私はいくつかのチュートリアルを読んだが、私はそれを行う適切な方法を得ていない。また、検索されたチュートリアルでは古いバージョンのowl apiが使用されていました。ですから、インスタンスを解析し、そのコンテンツをJavaクラスに格納する詳細な例が必要です。.ttlファイルを解析してJavaクラスにマップする
私はいくつかの試みを行いましたが、私のコードは次のとおりですが、私は続行するつもりはありません。
OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
File file = new File("./source.ttl");
OWLOntology localAcademic = manager.loadOntologyFromOntologyDocument(file);
Stream<OWLNamedIndividual> namedIndividualStream = localAcademic.individualsInSignature();
Iterator<OWLNamedIndividual> iterator = namedIndividualStream.iterator();
while (iterator.hasNext()) {
OWLNamedIndividual namedIndividual = iterator.next();
}
インスタンス、例えば以下の通りです。特に、 "ecrm:P3_has_note"のオブジェクトに "@en"を格納したい。
<http://data.doremus.org/performance/4db95574-8497-3f30-ad1e-f6f65ed6c896>
a mus:M42_Performed_Expression_Creation ;
ecrm:P3_has_note "Créée par Teodoro Anzellotti, son commanditaire, en novembre 1995 à Rotterdam"@en ;
ecrm:P4_has_time-span <http://data.doremus.org/performance/4db95574-8497-3f30-ad1e-f6f65ed6c896/time> ;
ecrm:P9_consists_of [ a mus:M28_Individual_Performance ;
ecrm:P14_carried_out_by "Teodoro Anzellotti"
] ;
ecrm:P9_consists_of [ a mus:M28_Individual_Performance ;
ecrm:P14_carried_out_by "à Rotterdam"
] ;
efrbroo:R17_created <http://data.doremus.org/expression/2fdd40f3-f67c-30a0-bb03-f27e69b9f07f> ;
efrbroo:R19_created_a_realisation_of
<http://data.doremus.org/work/907de583-5247-346a-9c19-e184823c9fd6> ;
efrbroo:R25_performed <http://data.doremus.org/expression/b4bb1588-dd83-3915-ab55-b8b70b0131b5> .
次のように私が欲しいの内容は以下のとおりです。
class Instance{
String subject;
Map<String, Set<Object>> predicateToObject = new HashMap<String,Set<Object>>();
}
class Object{
String value;
String type;
String language = null;
}
私が使用していますowlapiのバージョンは5.1.0です。 jarとdocをthereからダウンロードします。私は、Javaクラスで必要なコンテンツを取得する方法を知りたいだけです。
方法について説明するチュートリアルがある場合は、教えてください。
ありがとうございます。
アップデート:私はそれを行う方法を知っている、私はそれを終了するとき、私は答えを書きますが、私はそれがOWLAPIの後発を助けることができると思います。
もう一度ありがとう。
ありがとうございます。しかし、私は訪問者を使ってデータを取得することができます。それはOWLAnnonatiomAssiAxiomです。あなたの意見は何ですか? – ciferlv
あなたが行っているプロパティがアノテーションプロパティかデータプロパティかによって異なります。違いは、アノテーションのプロパティはリスナーによって無視されることです。 – Ignazio
私も質問があります。今私が個人を持っていれば、私はあらゆる財産と価値を知りたいのですが、これを得るための速い方法がありますか?それを行う既成の方法を書いてありますか?どうもありがとう。 – ciferlv