
query.dbpedia.rq Maven / Gradle / Ivy
#
# Recursive query on top of DBpedia
#
prefix p:
prefix o:
prefix r:
select (1 + kg:number() as ?n) ?suc where {
bind (unnest(us:search(r:Auguste, 1, 20)) as ?suc)
}
function us:search(?x, ?n, ?max){
let (?s = us:dbpedia(?x)){
if (?n = ?max) {xt:list(?s)}
else if (?s = xt:stop){xt:list()}
else {xt:cons(?s, us:search(?s, ?n + 1, ?max))}
}
}
function us:dbpedia(?x){
let (?ms = service {
?x p:successeur ?y})
{
if (xt:size(?ms) = 0){ xt:stop }
else {let ((?y) = ?ms) {?y}}
}
}
function xt:service(?u, ?q, ?ms){
xt:display(?ms)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy