Я использую следующий запрос, чтобы получить 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?
Я с удовольствием предоставлю более подробную информацию, если это необходимо.