PREFIX rdf: PREFIX rdfs: PREFIX owl: PREFIX foaf: # discover two distinct "incoming" contacts for acquaintances of the person in # question to propose these potential 2nd degree acquaintances contacts as new # acquaintances SELECT DISTINCT ?result WHERE { foaf:knows ?p1 . foaf:knows ?p2 . FILTER ( ?p1 != ?p2 ) ?result foaf:knows ?p1 . FILTER ( != ?result ) ?result foaf:knows ?p2 . OPTIONAL { ?knows ?result . FILTER ( ?knows = foaf:knows ) } FILTER ( !bound(?knows) ) }