Invalid SPARQL generated for remote query -- doubly escaped strings
While working on my branch of Nautilus, I hit this error (newlines inserted into the logs for readability):
(test/automated/displayless/test-tag-manager:38810): Tracker-Message: 12:41:50.325: [SPARQL]
SELECT ?url tracker:id(?urn)
WHERE {
?urn a rdfs:Resource .
SERVICE <dbus:org.freedesktop.Tracker3.Miner.Files> {
?urn nie:isStoredAs ?url .
FILTER(?url IN ('file:///home/sam/src/nautilus/build/tracker-indexed-tmpdirxxxwc8xn/stars_first_dir/stars_first_dir_child'))
}
}
(tracker-miner-fs-3:38831): Tracker-Message: 12:41:50.327: [SPARQL]
SELECT ?urn ?url ?url {
?urn nie:isStoredAs ?url .
FILTER(?url IN (''file:///home/sam/src/nautilus/build/tracker-indexed-tmpdirxxxwc8xn/stars_first_dir/stars_first_dir_child''))
}
Bail out! Tracker-FATAL-WARNING: Could not create remote cursor: GDBus.Error:org.freedesktop.Tracker.Error.Parse: Parser error at byte 69: Expected literal ')'
Notice how the strings are doubly escaped in the remote query, making it invalid SPARQL.