使用 SPARQL 和 blazegraph 的最短路径

Tob*_*obi 5 sparql wikidata blazegraph

此代码给出了成吉思汗的后裔达到一定深度(作为可以更改为表格的图表):

PREFIX bd: <http://www.bigdata.com/rdf#> 
PREFIX wd: <http://www.wikidata.org/entity/> 
PREFIX wdt: <http://www.wikidata.org/prop/direct/> 
PREFIX wikibase: <http://wikiba.se/ontology#> 
#defaultView:Graph
PREFIX gas: <http://www.bigdata.com/rdf/gas#>

SELECT DISTINCT ?depth ?item ?itemLabel ?pic #?linkTo
WHERE {
  SERVICE gas:service {
    gas:program gas:gasClass "com.bigdata.rdf.graph.analytics.SSSP" ;
                gas:in wd:Q720 ;
                gas:traversalDirection "Forward" ;
                gas:out ?item ;
                gas:out1 ?depth ;

                gas:maxIterations 4 ;
                gas:linkType wdt:P40 .
  }
 # OPTIONAL { ?item wdt:P40 ?linkTo }
  OPTIONAL { ?item wdt:P18 ?pic }
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en" }
}
ORDER BY ?depth
Run Code Online (Sandbox Code Playgroud)

是否可以修改此代码以获得成吉思汗和特定后代(例如Baltu,Q7070636)之间的最短路径,包括中间的人以及他们之间的关系类型(linkType)?一般来说:如何获得两个特定节点之间的最短路径,并得到一个包含这些节点之间的节点以及所有这些节点之间的关系类型(限于一定深度)的表?