【问题标题】:Fetch snap SPARQL query using OWL API in java web在 java web 中使用 OWL API 获取 snap SPARQL 查询
【发布时间】:2020-04-08 14:06:51
【问题描述】:

好吧,我有这个使用 protege 的 snap SPARQL 查询

PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX :<http://www.semanticweb.org/astrid/ontologies/2019/5/mpasiv2#>

SELECT ?resep_makanan
WHERE {
    ?resep_makanan rdf:type :resep_makanan.
    ?resep_makanan :resep_untuk :6-7_bulan.
}
ORDER BY ?resep_makanan

它有效,我得到了我的 resep_makanan 的实例,它们是食物名称,对象属性为 resep_untuk(recipe_for)6-7_bulan(6-7 个月大)的婴儿。 然后在我的 java web 代码中,我写了

PREFIX :<http://www.semanticweb.org/astrid/ontologies/2019/5/mpasiv2#>
SELECT DISTINCT ?resep_makanan
WHERE {
Type (?resep_makanan, :resep_makanan),
PropertyValue(?resep_makanan, :resep_untuk, :6-7_bulan)
}
order by ?resep_makanan

但我得到 0 个查询结果。 我正在使用 OWL API。 应该怎么写?

【问题讨论】:

  • OWL API 绝对不是您用来处理 SPARQL 查询的 API。它是什么? SPARQL-DL?了解您使用的版本以及运行查询的代码也会很有趣。
  • 什么是“javaweb”?
  • 对不起,我的意思是java web。我现在正在使用 OWL API
  • 显示 JAVA 代码以及您使用的 API。也没有必要为同一个问题打开另一个线程......
  • 再来一次,什么是“java web”?这不是一个标准术语,或者至少我不知道这是什么意思。

标签: java sparql owl protege


【解决方案1】:

查找 'snap SPARQL' 会带来 https://github.com/protegeproject/snap-sparql-query 项目,我相信这是您实际用于运行查询的项目(就像在 Protege 中使用的那样)。

如果是这种情况,您的代码的 SPARQL 部分没有使用 OWL API,因为 OWL API 本身不支持 SPARQL;我不知道 snap sparql 项目,但由于它与基于 OWL API 的 Protege 集成,我假设 OWL API 用于将基于 SPARQL 的 API 与 Protege 连接。从项目依赖来看,我认为是de-derivo-sparqldlapi

要回答您的问题,如果相同的查询在 Protege 之外没有产生结果,这必须取决于它没有被发送到同一个 SPARQL 端点或不同的端点设置(例如,您的查询是否依赖于对其结果进行推理?)

其中一些信息可能在您正在运行的代码中,并且没有在此处显示,但我们无法在没有看到的情况下判断。

【讨论】:

  • 她确实在使用 SPARQL-DL API,但这不支持完整的 SPARQL:derivo.de/en/resources/sparql-dl-api/sparql-dl-syntax - 在她的其他问题中,她也尝试使用过滤器表达式,因此,这在这里不起作用.如果她真的需要 OWL API - 而我们根本不知道她在做什么 - 那么Ont API 是在使用 SPARQL 和 OWL API 时要走的路。
  • Snap SPARQL 插件只是使用 Sesame(RDF4J) 作为 SPARQL 后端,结合 OWL API 的 OWL 推理器的推理能力。
  • 是的,我想我把一切都搞混了。 OWL API 确实是 SPARQL DL API。但在我的项目中,我需要使用 snap sparql,因为 imy ontolgy 有一些用于推理的 SWRL 规则。谢谢,我会在再次询问之前阅读更多内容。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多