title: SPARQL different operator
body: <h3>SPARQL Query</h3>
  
  <p>I have some SPARQL query shown below:</p>
  
  <pre><code>SELECT DISTINCT ?name1 
      WHERE {
  
          GRAPH &lt;blabla&gt;
          {
              ?k swrc:author ?x .
              ?x foaf:name ?name1 . 
          } .
  
          GRAPH &lt;blabla2&gt;
          {   
              ?l swrc:author ?y .
              ?y foaf:name ?name2 .
          } .
  
          FILTER(?x != ?y) . 
      }
  </code></pre>
  
  <p>I want to get the names that exist only in the first graph <code>blabla</code>.</p>
  
  <h3>Problem</h3>
  
  <p>Counter intuitively I get some names that actually belong to the intersection. This happens because b (of set A) = b (of set B)?</p>
  
  <h3>Question</h3>
  
  <p>What are exactly the semantics of <code>!=</code> ? How can I surpass this problem?</p>