当前位置: 首页 > 知识库问答 >
问题:

Oracle Jena适配器和Jena ARQ中的SPARQL属性路径

凌炜
2023-03-14

我正在使用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 in-memory模型,它的工作原理如下:

hybridGraph = OracleGraphWrapperForOntModel.getInstance(graph1);
model = ModelFactory.createModelForGraph(hybridGraph);
ontModel = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM, model);

我还尝试了ARQ的列表函数作为?工会列表:会员?成员.它不会从ModelOracleSem返回任何结果。但是当我从耶拿内存模型中尝试它时,它又完美地工作了。

有人能帮我解决这个问题吗?

编辑:您可以在下面看到确切的错误消息。版本信息:耶拿2.6。4,ARQ 2.8。8,Jena适配器11.2。0.3谢谢,

2013-06-10 16:54:42消息:java。sql。SQLException:ORA-29532:Java调用被未捕获的Java异常终止:oracle。空间的rdf。服务器ParseException:遇到“异常”

期待着一个:

 <URI> ... 
 <QNAME> ... 
 <VAR> ...

ORA-06512:在"MDSYS.RDF_MATCH_IMPL_T",第203行ORA-06512:在"MDSYS.RDF_MATCH_IMPL_T",第67行ORA-06512:在第4行

共有2个答案

吕英才
2023-03-14

我已经使用了jena适配器,我可以确认jena适配器对正在使用的jena版本敏感。我没有遇到过这个特殊的问题,但是当使用较新版本的jena和较旧版本的jena适配器时,我遇到了类似的问题。

当我们尝试使用Jena 2.9.2执行CONSTRUCT查询时,与jena 2.6.4和ARQ 2.8.8兼容的jena适配器(我现在不记得版本号了)抛出了一个运行时异常。为了让它正常工作,我们不得不降级。

使用正确版本的jena/jena适配器,我们已经体验到使用*的属性路径可以工作,但它运行得非常慢(对我们来说有点太慢;)。

苏德容
2023-03-14

正如Joshua所说,您的问题缺少一些重要信息,例如给定的解析器错误。

Oracle Jena适配器应该支持属性路径,引用它们的留档:

通过与Jena ARQ查询引擎的集成,Jena适配器支持所有Jena属性路径类型

因此,正如Joshua所说,这可能是版本不匹配的情况,您使用的是旧版本的Oracle Jena适配器,而不是更新版本的Jena适配器。

list的主题上:成员,这是一个非标准SPARQL扩展的ARQ属性函数。留档根本没有提到这一点,所以我认为它是不支持的。

 类似资料:
  • 问题内容: 如果我遵循此处描述的JavaFX属性定义,那么我尝试执行的操作将正常工作。现在,我想使用Java Beans属性适配器从Java Beans对象定义属性。由于没有文档,我无法弄清楚它是如何工作的。 假设我有一个简单的POJO类: 和一个PersonProperty: 最后是一个测试: 我希望看到: 而是什么也没有出现。 如果我在personTest的末尾添加 问题答案: 我认为这里的问

  • 我试图初始化log4j记录器使用SpringIOC和使用财产onfigurator.configure配置记录器,但财产onfigurator.configure不工作。 我的问题是如何将配置(log4j.properties)传递给Logger类? 波姆。xml 混淆班 log4j。性质

  • 问题内容: 任何人都可以解释一下Spring中path属性如何将对象从html形式绑定到Java类。我是Spring Web Framework的新手,请帮忙。 问题答案: 长话短说,使用Java bean约定将path属性绑定到Java属性中。例如以下形式: 以及以下控制器处理程序方法: 如果使用以下属性定义了Student类,则将自动绑定: 规范文档的第8.3节提供了有关JavaBeans对流

  • 因此,登录不能解析BuferredIO和ImmediateFlush属性。我试图查看他们的文档,但它似乎过时了,因为它说这些属性存在+我发现,例如对于,它没有属性,而根据文档,它应该有。 我找不到任何信息,如果登录仍然支持以下属性现在。你能帮助和建议一些想法,我如何才能达到相同的结果,与以前的财产?也许他们在别的地方:) 非常感谢!:) Logback版本为1.1.7(在迁移之前)

  • 您可以使用ApplicationBuilder类来创建父/子ApplicationContext层次结构。 有关详细信息,请参阅“Spring Boot功能”部分中的“第4.1.4节”,“Fluent Builder API”。 9.2.1 在构建时自动展开属性 您可以使用现有的构建配置自动扩展它们,而不是硬编码在项目的构建配置中也指定的某些属性。 这在Maven和Gradle都是可行的。 9.2

  • 就性能而言,在android应用程序中实现的更好选项是什么: 每个具有不同布局的对象列表都有多个适配器, 处理不同数据的单个适配器。 假设我们需要创建 > 注释, 视频, 问题 在适配器中列出以正确显示数据。每个列表属于不同的布局,这样我们就有了不同的、等等。 公共类FilesAdapter扩展RecyclerView.Adapter{ public static final int VIDEO_