@prefix : . :z :q "z-q-1" . :x :p "x-p-1" ; :q "x-q-1" ; :r "x-r-1" . :y :p "y-p-1" . --------------------------- 1 PREFIX : 2 SELECT ?a ?v ?w 3 WHERE 4 { ?a :p ?v . 5 OPTIONAL 6 { ?a :q ?w } . 7 } 1 ( ?a = :y) ( ?v = "y-p-1") 2 ( ?a = :x) ( ?v = "x-p-1") ( ?w = "x-q-1") 1 ( ?a = :y) ( ?v = "y-p-1") 2 ( ?a = :x) ( ?v = "x-p-1") 3 ( ?a = :x) ( ?v = "x-p-1") ( ?w = "x-q-1") --------------------------- 1 PREFIX : 2 SELECT ?a ?v ?w 3 WHERE 4 { OPTIONAL 5 { ?a :q ?w } . 6 ?a :p ?v 7 } 1 ( ?a = :x) ( ?v = "x-p-1") ( ?w = "x-q-1") 1 ( ?a = :y) ( ?v = "y-p-1") 2 ( ?a = :x) ( ?v = "x-p-1") 3 ( ?a = :x) ( ?v = "x-p-1") ( ?w = "x-q-1")