无法解析某些本体

在解析一组本体时,一些文件给了我以下错误,而其他文件运行良好(请注意,我使用的是 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);


慕工程0101907
浏览 180回答 1
1回答

浮云间

此错误表示您正在解析的本体之一不是有效的 JSON/LD 格式。要解决此问题,您必须做两件事:确保正在使用的格式是您期望的格式:OWLAPI,如果未指定格式,将尝试使用所有可用的解析器,直到其中之一成功解析本体如果格式正确,请修复输入数据:在这种情况下,对于 JSON/LD,错误在第 3 行如果使用的格式不是应有的格式,则需要在代码中指定一种格式 - 为此,您必须添加用于解析文件的代码片段。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java