Query over DBus with tracker_sparql_statement_bind_boolean does not work
The following Python program prints no output:
import gi
gi.require_version("Tracker", "3.0")
from gi.repository import Tracker
conn = Tracker.SparqlConnection.bus_new("org.freedesktop.Tracker3.Miner.Files")
stmt = conn.query_statement(
"""
SELECT ?urn {
?urn a rdfs:Resource .
FILTER (~boolean_arg^^xsd:boolean = true) .
}
LIMIT 10
""")
stmt.bind_boolean("boolean_arg", True)
cursor = stmt.execute()
while cursor.next():
print(cursor.get_string(0)[0])
(Tested Tracker 3.4.2 and master commit e9d9ad3c)
The following alternative does correctly show results:
import gi
gi.require_version("Tracker", "3.0")
from gi.repository import Tracker
conn = Tracker.SparqlConnection.bus_new("org.freedesktop.Tracker3.Miner.Files")
stmt = conn.query_statement(
"""
SELECT ?urn {
?urn a rdfs:Resource .
FILTER (~string_arg = "true") .
}
LIMIT 10
""")
stmt.bind_string("string_arg", "true")
cursor = stmt.execute()
while cursor.next():
print(cursor.get_string(0)[0])