如何在SPARQL中检索语句组中的限定符单元?

如何在SPARQL中检索语句组中的限定符单元?,sparql,wikidata,Sparql,Wikidata,我试图从维基数据中获取所有IBA鸡尾酒实体,包括它们的配方。 我使用的所有术语都是相同的 查询应返回鸡尾酒的名称、所有成分及其数量(数量和单位)。 返回我列出的除成分单位以外的所有内容: SELECT ?cocktail ?cocktailLabel ?cocktailDescription ?material ?quantity ?unit ?ingredient ?ingredientLabel WHERE { ?cocktail wdt:P31 wd:Q2536409; # cockt

我试图从维基数据中获取所有IBA鸡尾酒实体,包括它们的配方。 我使用的所有术语都是相同的

查询应返回鸡尾酒的名称、所有成分及其数量(数量和单位)。 返回我列出的除成分单位以外的所有内容:

SELECT ?cocktail ?cocktailLabel ?cocktailDescription ?material ?quantity ?unit ?ingredient ?ingredientLabel WHERE {
  ?cocktail wdt:P31 wd:Q2536409; # cocktails from the IBA official cocktail list
            p:P186 ?material.    # get statement of materials used
  ?material ps:P186 ?ingredient; # get ingredient entity from materials used
            pq:P1114 ?quantity.  # get quantity of the relation
  OPTIONAL {
    ?cocktail p:P186/psn:P186 [wikibase:quantityUnit ?unit ].
  }
  MINUS { ?material wdt:P31 wd:Q81727. } #remove cups from materials
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
这应产生干邑的标识符、干邑的标签、数量(在本例中为3)和3干邑的单位(在本例中为厘米


查询时需要添加什么?

选择?鸡尾酒?鸡尾酒标签?鸡尾酒描述?材料TMT?数量?单位标签?成分?成分?成分标签,其中{?鸡尾酒wdt:P31 wd:Q2536409;p:P186?材料TMT?材料TMT ps:P186?成分;pqv:P1114[wikibase:quantityAmount?quantity;wikibase:quantityUnit?unit].-
嘿,谢谢你的输入。这对我帮助很大,解决了我的问题!你想将你的评论发布到回答部分吗?然后我可以将问题标记为已解决,你将被标记为解决问题的贡献者:)
选择?鸡尾酒?鸡尾酒标签?鸡尾酒描述?材料TMT?数量?单位标签?成分?ingredientLabel其中{鸡尾酒wdt:P31 wd:Q2536409;p:P186?materialStmt。?materialStmt ps:P186?成分;pqv:P1114[wikibase:quantityAmount?数量;wikibase:quantityUnit?单位]。减去{material wdt:P31 wd:Q81727.}服务wikibase:label{bd:serviceParam wikibase:language'[自动语言],en“}}按DESC(?鸡尾酒)点菜
嘿,谢谢你的输入。这对我很有帮助,解决了我的问题!你想在回答部分发表评论吗?然后我可以将问题标记为已解决,你将被标记为解决问题的贡献者:)