(select (join (join (leftjoin (bgp (triple ?:a ?:c)) (bgp (triple ?:a ?:d))) (bgp (triple ?:a ?:p 1))) (union (bgp (triple ?:p |http://www.w3.org/1999/02/22-rdf-syntax-ns#|:type ?:y)) (bgp (triple ?:a ?:z ?:p)))) (?:a ?:y ?:d ?:z))