Не удалось разобрать некоторые онтологии - PullRequest
0 голосов
/ 02 сентября 2018

При анализе набора онтологий некоторые файлы выдают мне следующую ошибку, в то время как другие работают хорошо (обратите внимание, что я использую OWL API 5.1.6):

uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:1033)
    uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:933)
    uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadImports(OWLOntologyManagerImpl.java:1630)

....

Could not parse JSONLD        org.eclipse.rdf4j.rio.jsonld.JSONLDParser.parse(JSONLDParser.java:110)
    org.semanticweb.owlapi.rio.RioParserImpl.parseDocumentSource(RioParserImpl.java:172)
    org.semanticweb.owlapi.rio.RioParserImpl.parse(RioParserImpl.java:125)

....

Stack trace:
org.eclipse.rdf4j.rio.RDFParseException: unqualified attribute 'class' not allowed [line 3, column 65]        
org.semanticweb.owlapi.rio.RioParserImpl.parse(RioParserImpl.java:138)
    uk.ac.manchester.cs.owl.owlapi.OWLOntologyFactoryImpl.loadOWLOntology(OWLOntologyFactoryImpl.java:193)
    uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.load(OWLOntologyManagerImpl.java:1071)
    uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:1033)
    uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:933)
    uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadImports(OWLOntologyManagerImpl.java:1630)

....

и много подобных ошибок. Есть идеи, как решить эту проблему (проблемы)?


Обновление:

Фрагмент, который загружает онтологию:

File file = new File("C:\\vocabs\\" + Ontofile.getName());

OWLOntologyManager m = OWLManager.createOWLOntologyManager();
OWLOntology o;
o = m.loadOntologyFromOntologyDocument(file);
OWLDocumentFormat format = m.getOntologyFormat(o);

OWLOntologyXMLNamespaceManager nsManager = new 
OWLOntologyXMLNamespaceManager(o, format);

1 Ответ

0 голосов
/ 03 сентября 2018

Эта ошибка говорит о том, что одна из разбираемых вами онтологий недопустима в формате JSON / LD.

Чтобы исправить это, вы должны сделать две вещи:

  • Убедитесь, что используется тот формат, который вы ожидаете: OWLAPI, если формат не указан, будет пытаться использовать все доступные анализаторы, пока один из них успешно не проанализирует онтологию

  • Исправьте входные данные, если формат правильный: в этом случае для JSON / LD ошибка в строке 3

Если используемый формат не тот, который должен быть, вам нужно указать формат в своем коде - для этого вам нужно будет добавить фрагмент кода, который вы используете для анализа ваших файлов.

...