Я хочу прочитать классы для LNC/LOINC RDF/Turtle версии от BioPortal, как можно найти на http://bioportal.bioontology.org/ontologies/LOINC/, новейшая подача.Невозможно разобрать файлы формата черепахи с 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) [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 непосредственно, как в
java.net.URL documentUrl = new File("LOINC.ttl").toURI().toURL();
InputStream inputStream = documentUrl.openStream();
RDFParser rdfParser = new TurtleParser();
java.util.ArrayList myList = new ArrayList();
StatementCollector collector = new StatementCollector(myList);
rdfParser.setRDFHandler(collector);
try {
rdfParser.parse(inputStream, documentUrl.toString());
} catch (IOException | RDFParseException | RDFHandlerException e) {
e.printStackTrace();
}
работает через. Однако я полагаюсь на OWL-API.
Я не думаю, что есть синтаксическая ошибка, так как Protégé может открыть файл без жалобы (ничего особенного в журналах). Я также попробовал сокращенные версии файла, потому что он довольно большой. Работает около половины файла. Но я не нашел ничего о ограничениях длины OWL-API. И опять. Protégé может открыть его.
То же самое с файлами MESH.ttl и PDQ.ttl на BioPortal. Однако NCBITAXON.ttl работает.
Версия OWL-API 5.0.5, Protege 5.0beta для Mac используется для успешного открытия файла.
Я был бы признателен за любые намеки, потому что прямо сейчас я действительно не знаю, в чем проблема.
Спасибо!
Hi Ignazio! О, извините, как я мог забыть: сначала я попробовал OWL-API 4.2.3 и переключился на 5.0.5 в надежде на устранение проблемы. Поэтому приведенный выше отчет об ошибке создается с помощью OWL-API 5.0.5. Я добавляю сообщение об ошибке черепахи Parser в свой вопрос. Protégé я использую 5.0 для Mac. – khituras
:-D более точная бета-версия поможет решить проблему. Бета-версии Protege 5 охватывают длительный промежуток времени; ранние использовали OWLAPI 3.5.x, а последний использует 4.1.x, если я правильно помню. – Ignazio
Ха-ха, мне очень жаль - его Protege-5.0.0-beta-21 ;-) Проблема, однако, действительно выглядит как '' '' '. Большое спасибо за это, потому что я тоже посмотрел на линию, но не заметил этой проблемы. Интересно, почему это запрещено. Означает ли это, что строка, начинающаяся с '" "" ', может быть закончена с' '' ''. Это показалось мне необычным. – khituras