This SPARQL query returns true
:
ASK {
wd:Q216665 wdt:P279* wd:Q5185279 .
}
Is there any way to expand the path (i.e. wdt:P279*
) to better understand the link between subject and predicate?
This SPARQL query returns true
:
ASK {
wd:Q216665 wdt:P279* wd:Q5185279 .
}
Is there any way to expand the path (i.e. wdt:P279*
) to better understand the link between subject and predicate?
If you know in advance that the path's lenght is at most N, then you can hardcode it.
E.g. with N = 4:
SELECT ?start ?node1 ?node2 ?node3 ?end WHERE {
BIND (wd:Q216665 as ?start)
BIND (wd:Q5185279 as ?end)
{ ?start wdt:P279 ?node1 . ?node1 wdt:P279 ?end . } UNION
{ ?start wdt:P279 ?node1 . ?node1 wdt:P279 ?node2 . ?node2 wdt:P279 ?end . } UNION
{ ?start wdt:P279 ?node1 . ?node1 wdt:P279 ?node2 . ?node2 wdt:P279 ?node3 . ?node3 wdt:P279 ?end . }
}
or even:
SELECT ?start ?node1 ?node2 ?node3 ?end WHERE {
BIND (wd:Q216665 as ?start)
BIND (wd:Q5185279 as ?end)
?start wdt:P279* ?end .
OPTIONAL { ?start wdt:P279 ?node1 . ?node1 wdt:P279+ ?end .
OPTIONAL { ?node1 wdt:P279 ?node2 . ?node2 wdt:P279+ ?end .
OPTIONAL { ?node2 wdt:P279 ?node3 . ?node3 wdt:P279+ ?end .
}}}
}