2016-09-02 7 views
0

オントロジーIDのないオントロジーを含むファイルがあります(オントロジータグ<Ontology/>は空です)。使用されるシリアライズ形式はRDF/XMLです。私の目標は、ファイルをシリアライズし、オントロジーIDを設定し、OWLAPIを使ってファイルを書き戻すことです。残念ながら、私はこれを行う方法を知らない。OWL APIを使用して匿名オントロジーのオントロジーIDを設定する方法

ontology = ontologyManager.loadOntologyFromOntologyDocument(new File("filename")); 
ontologyManager.setOntologyDocumentIRI(ontology, IRI.create("http://www.mydesiredIri.com/abc")); 
ontologyManager.saveOntology(ontology,new FileOutputStream(new File("outputfile"))); 

コードを実行することにより、オントロジー-IDは、オントロジーに追加されない:私は、次の試み。 <Ontology rdf:about="http://www.mydesiredIri.com/abc"/>の代わりにタグはまだemtpyです。私が間違っていることは何ですか?

ありがとうございました!

種類は、オントロジー、オントロジーないIRI自身の文書IRIを設定するためのものである

答えて

0

OWLOntologyManager.setOntologyDocumentIRI()について。 2つの違いは、ドキュメントIRIが解決可能なURLまたはファイルパス(つまり、intが構文解析に使用できる)である一方、オントロジーIRIはオントロジの記号名です(解決可能である必要はありません)匿名のオントロジーの場合には欠けている可能性もあります。オントロジーIRIを設定するには

は、使用します。この後

//versionIRI can be null 
OWLOntologyID newOntologyID = new OWLOntologyID(ontologyIRI, versionIRI); 
// Create the change that will set our version IRI 
SetOntologyID setOntologyID = new SetOntologyID(ontology, newOntologyID); 
// Apply the change 
manager.applyChange(setOntologyID); 

は、いつものようにオントロジーを保存します。

+0

ありがとうございます、あなたのコードは正常に動作します。しかし、私は "コンストラクタOWLOntologyID(IRI)は推奨されていません"という警告を受け取ります。 OWLOntologyIDを構築する新しい方法は何ですか? (私はJavadocのヒントを見つけられませんでした) – user3579222

+0

オプションインスタンスを作成して、非推奨警告を取り除くことができます。 – Ignazio

関連する問題