2017-01-20 9 views
0

最新ポータルhttp://bioportal.bioontology.org/ontologies/LOINC/にあるBioPortalのLNC/LOINC RDF/Turtleバージョンのクラスを読んでみたいと思います。OWL APIでいくつかの亀のファイルを解析できません

マイ解析コードはしかし、私はノーパーサに関するエラーが(原因文字の制限に短縮)オントロジーを解析することができるだろう取得

OWLOntologyManager ontologyManager = OWLManager.createOWLOntologyManager(); 
ontologyManager.loadOntologyFromOntologyDocument(new File("LOINC.ttl")); 

のように簡単です:

Exception in thread "main" org.semanticweb.owlapi.io.UnparsableOntologyException: Problem parsing file:/home/faessler/Coding/workspace/bioportal-ontology-tools/LOINC.ttl 
Could not parse ontology. Either a suitable parser could not be found, or parsing failed. See parser logs below for explanation. 
The following parsers were tried: 
1) org.sema[email protected] 
2) [email protected] 
3) org.se[email protected]120f38e6 
4) org.semanticweb.owlapi.rio.RioParserImpl : [email protected]fd655c 
5) org.semanticweb.o[email protected]3ad394e6 
6) org.semanticweb.owlapi.rio.RioParserImpl : [email protected]9ad 
7) org.semanticweb.owlapi.rio.RioParserImpl : [email protected]8dc3 
8) org.semanticweb.owlapi.rio.RioParserImpl : [email protected]ecd36 
9) org.semanticweb.owlapi.rio.RioParserImpl : [email protected] 
10) org.semanticweb.owlapi.rio.RioParserImpl : [email protected]acc47d 
11) org.semanticweb.owlapi.rio.RioParserImpl : [email protected] 
12) org.semanticweb.owlapi.rio.RioParserImpl : [email protected]b9a3bc 
13) [email protected]43e173 
14) org.semanticweb.owlapi.rio.RioTrixParserFactory$TrixParserImpl : [email protected] 
15) [email protected] 
16) [email protected]7 
17) [email protected] 
18) org.semanticweb.owlapi.rio.RioParserImpl : [email protected]f24493 
19) [email protected] 
20) org.semanticweb.owlapi.rio.RioParserImpl : [email protected] 


Detailed logs: 
-------------------------------------------------------------------------------- 

SNIP 

-------------------------------------------------------------------------------- 
Parser: org.semanticweb.owlapi.rio.RioParserImpl : [email protected]fd655c 
    Stack trace: 
org.openrdf.rio.UnsupportedRDFormatException: Did not recognise RDF format object Turtle (mimeTypes=text/turtle, application/x-turtle; ext=ttl)  org.semanticweb.owlapi.rio.RioParserImpl.parse(RioParserImpl.java:138) 
     uk.ac.manchester.cs.owl.owlapi.OWLOntologyFactoryImpl.loadOWLOntology(OWLOntologyFactoryImpl.java:175) 
     uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.load(OWLOntologyManagerImpl.java:997) 
     uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:961) 
     uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntologyFromOntologyDocument(OWLOntologyManagerImpl.java:910) 
     uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntologyFromOntologyDocument(OWLOntologyManagerImpl.java:922) 
     de.julielab.bioportal.ontologies.apps.Test.main(Test.java:43) 
Did not recognise RDF format object Turtle (mimeTypes=text/turtle, application/x-turtle; ext=ttl)  org.openrdf.rio.Rio.lambda$unsupportedFormat$0(Rio.java:630) 
     java.util.Optional.orElseThrow(Optional.java:290) 
     org.openrdf.rio.Rio.createParser(Rio.java:119) 
     org.semanticweb.owlapi.rio.RioParserImpl.parseDocumentSource(RioParserImpl.java:173) 
     org.semanticweb.owlapi.rio.RioParserImpl.parse(RioParserImpl.java:125) 
     uk.ac.manchester.cs.owl.owlapi.OWLOntologyFactoryImpl.loadOWLOntology(OWLOntologyFactoryImpl.java:175) 
     uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.load(OWLOntologyManagerImpl.java:997) 
     uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:961) 
     uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntologyFromOntologyDocument(OWLOntologyManagerImpl.java:910) 
     uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntologyFromOntologyDocument(OWLOntologyManagerImpl.java:922) 


-------------------------------------------------------------------------------- 

Parser: [email protected]43e173 
    Stack trace: 
org.semanticweb.owlapi.rdf.turtle.parser.ParseException: Encountered " <PN_CHARS> "- "" at line 3635316, column 64. 
Was expecting: 
    "." ... 
      org.semanticweb.owlapi.rdf.turtle.parser.TurtleOntologyParser.parse(TurtleOntologyParser.java:60) 
     uk.ac.manchester.cs.owl.owlapi.OWLOntologyFactoryImpl.loadOWLOntology(OWLOntologyFactoryImpl.java:175) 
     uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.load(OWLOntologyManagerImpl.java:997) 
     uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:961) 
     uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntologyFromOntologyDocument(OWLOntologyManagerImpl.java:910) 
     uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntologyFromOntologyDocument(OWLOntologyManagerImpl.java:922) 
     de.julielab.bioportal.ontologies.apps.Test.main(Test.java:43) 
Encountered " <PN_CHARS> "- "" at line 3635316, column 64. 
Was expecting: 
    "." ... 
      org.semanticweb.owlapi.rdf.turtle.parser.TurtleParser.generateParseException(TurtleParser.java:1960) 
     org.semanticweb.owlapi.rdf.turtle.parser.TurtleParser.jj_consume_token(TurtleParser.java:1829) 
     org.semanticweb.owlapi.rdf.turtle.parser.TurtleParser.parseDocument(TurtleParser.java:111) 
     org.semanticweb.owlapi.rdf.turtle.parser.TurtleOntologyParser.parse(TurtleOntologyParser.java:56) 
     uk.ac.manchester.cs.owl.owlapi.OWLOntologyFactoryImpl.loadOWLOntology(OWLOntologyFactoryImpl.java:175) 
     uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.load(OWLOntologyManagerImpl.java:997) 
     uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:961) 
     uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntologyFromOntologyDocument(OWLOntologyManagerImpl.java:910) 
     uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntologyFromOntologyDocument(OWLOntologyManagerImpl.java:922) 
     de.julielab.bioportal.ontologies.apps.Test.main(Test.java:43) 



SNIP 

プロテジェファイルをうまく読み込むことができます。また、直接TurtleParserを使用することもできます。

runスルー。しかし、私はOWL-APIに頼っています。

プロテジェがファイルを開くことができるので、構文エラーがあるとは思わない(ログに特別なものは何もない)。ファイルがかなり大きいので、ファイルの短縮版も試しました。ファイルの約半分を使用して動作します。しかし、OWL-APIの長さ制限については何も見つかりませんでした。そしてまた。プロテジェがそれを開くことができます。

BioPortalのMESH.ttlおよびPDQ.ttlファイルと同じです。しかし、NCBITAXON.ttlは動作します。

OWL-APIバージョンが5.0.5で、Protege 5.0beta for Macがファイルを正常に開くために使用されました。

私は本当に何が問題であるか分からないので、私は非常にヒントをいただきたいと思います。

ありがとうございます!

答えて

0

利用可能なメモリとコレクションのサイズを除いて、owl APIには明示的な制限はありません。これは整数が想定できる最大値に制限されています。

このパーサーの詳細なログは何ですか?

13) [email protected]43e173

これはむしろリオパーサよりも、owlapi自体でカメパーサーです。

また、どのバージョンのowlapiとprotégéを使用していますか?

編集:パーサーのエラーメッセージで、私は失敗したラインを見つけることができた:

<http://purl.bioontology.org/ontology/LNC/LRN2> """3'''-acetate; [cut]"""^^xsd:string ;

問題三の引用符である:'''ものがある、"""と同等であると解釈されますリテラル区切り文字。古いOWLAPIはこの仕様では正しく動作しませんでしたが、このリテラルは不正な形式であると思われ、新しいOWLAPIで失敗します。 Protege Beta(バージョン15まで)は、古いパーサを持つOWLAPI 3.5を使用しています。

これをパーサーで修正できるかどうか、またはこの段階でデータを修正する必要があるかどうかはわかりません。私はGitHubで問題を提起します。 https://github.com/owlcs/owlapi/issues/610

第2の編集:これはバグです。リテラルは正しく解析されているはずです。 the relevant Turtle specsを参照してください。

+0

こんにちはIgnazio!申し訳ありませんが、どうやって忘れることができますか?OWL-API 4.2.3を最初に試し、問題を修正するために5.0.5に切り替えました。したがって、上記のエラー・レポートはOWL-API 5.0.5で作成されます。私は私の質問にTurtle Parserエラーメッセージを追加します。私が使用しているProtégéはMac用の5.0ベータ版です。 – khituras

+0

:-Dより正確なベータは問題の把握に役立ちます。 Protege 5ベータ版は長い時間をカバーします。私が正しく覚えていれば、初期のものはOWLAPI 3.5.xを使用し、最新のものは4.1.xを使用します。 – Ignazio

+0

ハハ、本当に申し訳ありません - そのProtege-5.0.0-beta-21 ;-)問題は本当に '''' 'のようです。私もラインを見ていたが、この問題に気づいていなかったので、ありがとう。なぜこれが禁止されているのだろうか。 – khituras

関連する問題