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