PREFIX o: # Original query SELECT count(DISTINCT *) WHERE { ?d1 o:hasCode "15" ; o:hasInitiator ?writer . ?writer o:hasUserName ?writerName . ?d2 o:hasCode "21" ; o:hasInitiator ?reader . ?reader o:hasUserName ?readerName . FILTER ( ?d1 = ?d2 && ?writer != ?reader ) }