If you add a print to the line in surf where the error occurs you can look at
the JSON object that rdflib returns. Here is line 121:
{
"s" : {"type": "uri", "value" :
"http://www.w3.org/2004/02/skos/core#closeMatch"},
"p" : {"type": "uri", "value" :
"http://www.w3.org/2004/02/skos/core#definition"},
"o" : {"type": "literal", "xml:lang" : "en", "value" :
"skos:closeMatch is used to link two concepts that are sufficiently similar that
they can be used interchangeably in some information retrieval applications.
In order to avoid the possibility of "compound errors" when combining mappings
across more than two concept schemes, skos:closeMatch is not declared to be a
transitive property."}
},
Rdflib (probably more precisely rdfextras) doesn't properly escape the ' " '
inside the literal which makes the JSON parser rightly complain.
You can report this as a bug to rdfextras, but as this project is currently
pretty unstable I don't know how much chances you have getting that fix. Either
way I would suggest you use a real triple store, even if that requires you to
setup a full blown server locally.
-Christoph
I'd recommend you install OpenLink's Virtuoso and use SuRF's sparql_procol
plugin.
-Christoph