PREFIX : PREFIX rdf: SELECT * { { ?x rdf:type :X . } UNION { ?x rdf:type :X . FILTER (?x != :x2 )} OPTIONAL { ?x :p ?p . } } GROUP BY (str(?p) as ?str)