surfers,
It seems that the latest version of rdflib causes a problem with surf.
e.g. SuRF-1.1.4_r352-py2.6.egg/surf/rdf.py has some conditional imports which do not handle the "4.x" cases.
Would it be possible to update this logic?
Or, could it ensure that the older version of rdflib is used in its easy_install?
Thanks,
Tim Lebo
{{{{{{ # SuRF-1.1.4_r352-py2.6.egg/surf/rdf.py
import rdflib
print 'rdflib version: ' + rdflib.__version__
# 2.4 style imports
if rdflib.__version__.startswith("2.4"):
from rdflib.BNode import BNode
from rdflib.Graph import Graph, ConjunctiveGraph
from rdflib.Literal import Literal
from rdflib.Namespace import Namespace
from rdflib.Namespace import Namespace as ClosedNamespace
from rdflib.URIRef import URIRef
from rdflib.RDF import RDFNS as RDF
from rdflib.RDFS import RDFSNS as RDFS
# 3.0 style imports
if rdflib.__version__.startswith("2.5") or rdflib.__version__.startswith("3."):
from rdflib.term import BNode
from rdflib.graph import Graph, ConjunctiveGraph
from rdflib.term import Literal
from rdflib.namespace import ClosedNamespace, Namespace
from rdflib.namespace import RDF, RDFS
from rdflib.term import URIRef
__exports__ = [BNode, ClosedNamespace, ConjunctiveGraph, Graph, Literal,
Namespace, RDF, RDFS, URIRef]
}}}}}}}}
The code above prints the following:
{{{{{{
rdflib version: 4.0.1
Traceback (most recent call last):
...
File "/usr/local/lib/python2.6/dist-packages/SuRF-1.1.4_r352-py2.6.egg/surf/__init__.py", line 51, in <module>
from surf.query import Query, select, ask, describe, construct, OptionalGroup, Group, NamedGroup, Filter
File "/usr/local/lib/python2.6/dist-packages/SuRF-1.1.4_r352-py2.6.egg/surf/query/__init__.py", line 41, in <module>
from surf.rdf import BNode, Graph, ConjunctiveGraph, Literal, Namespace
File "/usr/local/lib/python2.6/dist-packages/SuRF-1.1.4_r352-py2.6.egg/surf/rdf.py", line 65, in <module>
__exports__ = [BNode, ClosedNamespace, ConjunctiveGraph, Graph, Literal,
NameError: name 'BNode' is not defined
}}}}}}}