如何在新的MeSH端点中使用SPARQL CONSTRUCT?

时间:2015-09-07 15:15:04

标签: sparql endpoint

我正在尝试在SPARQL MeSH端点中使用构造CONSTRUCT,但是这个总是返回一个空查询。 特别是我找到了一些医学名称的别名。

基本上有效的SELECT查询是:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX meshv: <http://id.nlm.nih.gov/mesh/vocab#>
PREFIX mesh: <http://id.nlm.nih.gov/mesh/>
PREFIX mesh2015: <http://id.nlm.nih.gov/mesh/2015/>

SELECT ?d ?dName ?c ?cName 
FROM <http://id.nlm.nih.gov/mesh>
WHERE {
  ?d a meshv:Descriptor .
  ?d meshv:concept ?c .
  ?d rdfs:label ?dName .
  ?c rdfs:label ?cName
  FILTER(REGEX(?dName,'infection','i') || REGEX(?cName,'infection','i')) 
} 
ORDER BY ?d 

我正在寻找以下内容:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX meshv: <http://id.nlm.nih.gov/mesh/vocab#>
PREFIX mesh: <http://id.nlm.nih.gov/mesh/>
PREFIX mesh2015: <http://id.nlm.nih.gov/mesh/2015/>

CONSTRUCT{
            ?dName a (subject)
            is alias of (predicate)
            ?cName (object)
}
WHERE {
  ?d a meshv:Descriptor .
  ?d meshv:concept ?c .
  ?d rdfs:label ?dName .
  ?c rdfs:label ?cName
  FILTER(REGEX(?dName,'infection','i') || REGEX(?cName,'infection','i')) 
} 

Reference documents  通知支持CONSTRUCT,您可以尝试查询here,SPARQL端点应为here

感谢您的帮助。

0 个答案:

没有答案