我正在使用以下查询针对Wikidata中的给定概念上下subclass of
谓词。
SELECT ?item ?itemLabel ?linkTo {
{ wd:Q22673982 wdt:P279* ?item } UNION { ?item wdt:P279* wd:Q22673982 }
OPTIONAL { ?item wdt:P279 ?linkTo }
SERVICE wikibase:label {bd:serviceParam wikibase:language "en" }
}
为了仅将跳数限制为10,我将上述查询扩展为以下内容。
PREFIX gas: <http://www.bigdata.com/rdf/gas#>
SELECT ?item ?itemLabel ?linkTo {
{ SERVICE gas:service {
gas:program gas:gasClass "com.bigdata.rdf.graph.analytics.SSSP" ;
gas:in wd:Q22673982 ;
gas:traversalDirection "Forward" ;
gas:out ?item ;
gas:out1 ?depth ;
gas:maxVisited 10 ;
gas:linkType wdt:P279 .
} } UNION { SERVICE gas:service {
gas:program gas:gasClass "com.bigdata.rdf.graph.analytics.SSSP" ;
gas:in wd:Q22673982 ;
gas:traversalDirection "Reverse" ;
gas:out ?item ;
gas:out1 ?depth ;
gas:maxVisited 10 ;
gas:linkType wdt:P279 .
} }
OPTIONAL { ?item wdt:P279 ?linkTo }
SERVICE wikibase:label {bd:serviceParam wikibase:language "en" }
}
我尝试使用DBpedia以类似方式进行操作,如下所示。
SELECT * {
{ dbr:Word2vec dct:subject* ?item } UNION { ?item dct:subject* dbr:Word2vec }
OPTIONAL { ?item dct:subject ?linkTo }
}
但是,出现以下错误:Virtuoso 37000 Error SP031: SPARQL compiler: Variable '_::trans_subj_4_0' is used in subexpressions of the query but not assigned
我的问题是;在DBpedia中可以做同样的事情吗?
很高兴在需要时提供更多详细信息。