我正在使用 Oracle Jena 适配器。我的问题是关于 SPARQL 查询的属性路径。当我试图查询
SELECT * WHERE {
?t rdf:type owl:ObjectProperty.
?t rdfs:domain ?o.
?o owl:unionOf ?union.
?union rdf:rest*/rdf:first ?member.
}
从 ModelOracleSem 它给了我一个解析器错误。但是,如果我尝试使用 Jena 内存模型,它可以完美地工作,如下所示:
hybridGraph = OracleGraphWrapperForOntModel.getInstance(graph1);
model = ModelFactory.createModelForGraph(hybridGraph);
ontModel = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM, model);
我还尝试了 ARQ 的列表功能为?union list:member ?member
. 它不从 ModelOracleSem 返回任何结果。但是当我从 Jena 内存模型中尝试它时,它再次完美运行。
谁能帮我解决这个问题?
编辑: 您可以在下面看到确切的错误消息。版本信息:耶拿 2.6.4、ARQ 2.8.8、耶拿适配器 11.2.0.3 谢谢,
2013-06-10 16:54:42 消息:java.sql.SQLException:ORA-29532:Java 调用被未捕获的 Java 异常终止:oracle.spatial.rdf.server.ParseException:在第 1 行第 2 列遇到“<” .
期待其中之一:
<URI> ...
<QNAME> ...
<VAR> ...
ORA-06512:在“MDSYS.RDF_MATCH_IMPL_T”,第 203 行 ORA-06512:在“MDSYS.RDF_MATCH_IMPL_T”,第 67 行 ORA-06512:在第 4 行