首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示由ASK查询中的绑定组合确定的结果

显示由ASK查询中的绑定组合确定的结果
EN

Stack Overflow用户
提问于 2018-01-20 09:06:26
回答 1查看 54关注 0票数 0

是否有方法显示ASK查询的哪个绑定用于哪个结果?

为了澄清我的意思:对于SELECT查询来说,这非常容易:

代码语言:javascript
复制
SELECT DISTINCT * WHERE {
 ?class_0 ?property_0 ?uri . 
 VALUES (?class_0) {(<http://dbpedia.org/resource/Angela_Merkel>) } 
 VALUES (?property_0) {(<http://dbpedia.org/ontology/birthPlace>) (<http://dbpedia.org/ontology/birthDate>) }
} 

将给出如下内容:

代码语言:javascript
复制
╔════════════════════════════════════════════╦═════════════════════════════════════════╦══════════════════════════════════════════════════════╗
║                  class_0                   ║               property_0                ║                         uri                          ║
╠════════════════════════════════════════════╬═════════════════════════════════════════╬══════════════════════════════════════════════════════╣
║ http://dbpedia.org/resource/Angela_Merkel  ║ http://dbpedia.org/ontology/birthPlace  ║ http://dbpedia.org/resource/Hamburg                  ║
║ http://dbpedia.org/resource/Angela_Merkel  ║ http://dbpedia.org/ontology/birthPlace  ║ http://dbpedia.org/resource/Barmbek-Nord             ║
║ http://dbpedia.org/resource/Angela_Merkel  ║ http://dbpedia.org/ontology/birthDate   ║ 1954-07-17                                           ║
║ http://dbpedia.org/resource/Angela_Merkel  ║ http://dbpedia.org/ontology/birthDate   ║ "1954-7-17"^^<http://www.w3.org/2001/XMLSchema#date> ║
╚════════════════════════════════════════════╩═════════════════════════════════════════╩══════════════════════════════════════════════════════╝

所以我确切地知道结果是如何确定的:

代码语言:javascript
复制
http://dbpedia.org/resource/Angela_Merkel + http://dbpedia.org/ontology/birthPlace -> http://dbpedia.org/resource/Hamburg, http://dbpedia.org/resource/Barmbek-Nord

是否有方法获取以下查询的此信息?

代码语言:javascript
复制
PREFIX dbr: <http://dbpedia.org/resource/> 
PREFIX dbo: <http://dbpedia.org/ontology/> 
ASK WHERE { 
 ?class_0 a dbo:Sport . 
 VALUES (?class_0) {(dbr:Horse_racing) (dbr:Angela_Merkel)}
}

所以我看得出来

代码语言:javascript
复制
dbo:Sport + dbr:Horse_racing -> true
dbo:Sport + dbr:Angela_Merkel -> false

注意:我知道可以将这个查询分成两部分,但如果可能的话,我想避免这种情况。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-21 05:01:56

SPARQL ASK只能返回一个布尔值;因此,不能使用此查询类型。

这个查询可能会做您想做的事情:

代码语言:javascript
复制
PREFIX dbr: <http://dbpedia.org/resource/> 
PREFIX dbo: <http://dbpedia.org/ontology/> 
SELECT * WHERE { 
 VALUES (?class_0) {(dbr:Horse_racing) (dbr:Angela_Merkel)}
 BIND(xsd:boolean(exists{?class_0 a dbo:Sport}) as ?exists)
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48354324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档