title: Why my query doesn't work using RDFlib
body: <p>I've been trying to query an OWL data using RDFlib (SPARQL), but I didn't get why it doesn't work. I tested the same query in Protege (SPARQL query) and it works perfectly!
  This is my code:</p>
  
  <pre><code>import rdflib
  from rdflib import plugin
  from rdflib.graph import Graph
  
  g = Graph()
  g.parse("/localPath/a.owl")
  
  from rdflib.namespace import Namespace
  ns = Namespace("http://oaei.ontologymatching.org/2011/benchmarks/101/onto.rdf#")
  
  plugin.register(
      'sparql', rdflib.query.Processor,
      'rdfextras.sparql.processor', 'Processor')
  plugin.register(
      'sparql', rdflib.query.Result,
      'rdfextras.sparql.query', 'SPARQLQueryResult')
  #
  qres = g.query(
                  """
                      SELECT  DISTINCT ?varClass ?varSubClass ?varSubClassComment ?varProperty ?varPropComment
                          WHERE {
                                  {
                                      ?varClass rdf:type owl:Class .
                                      ?varProperty rdf:type owl:ObjectProperty ; rdfs:domain ?varClass . OPTIONAL{?varProperty rdfs:comment ?varPropComment} .
                                      OPTIONAL{?varSubClass rdfs:subClassOf ?varClass ; rdfs:comment ?varSubClassComment} .
                          }
                      UNION
                          {
                                      ?varClass rdf:type owl:Class .
                                      ?varProperty rdf:type owl:DatatypeProperty ; rdfs:domain ?varClass . OPTIONAL{?varProperty rdfs:comment ?varPropComment}.
                          }
                               }
                  """
                  , initNs=dict(
                                  ns=Namespace("http://oaei.ontologymatching.org/2011/benchmarks/101/onto.rdf#")
                                )
                 )
  
  for row in qres.result:
      #print ("%s %s %s %s %s" % row) # %s represent the fields selected in the query
      print row
  
  print (len(qres.result))
  </code></pre>
  
  <p>My result is nothing. There's no error, but the length of the result file is 0.
  What am I doing wrong? Does anyone can help me?</p>