Skip to content

Remove (soft)dependency on rdflib_jsonld #93

@Panaetius

Description

@Panaetius

#92 fixed RDFLib 6.0, but a big change in RDFlib 6.0 was integrating rdflib_jsonld into RDFlib itself: RDFLib/rdflib#1354

Due to this, the rdflib_jsonld project has been archived and is not maintained anymore: https://github.com/RDFLib/rdflib-jsonld#archived

Since rdflib_jsonld cannot be installed anymore with the newest version of setuptools, since it has use_2to3 set to true, see pypa/setuptools#2769, this makes pySHACL unusable with JSON-LD with the newest version of setuptools.

Graph().serialize(format='json-ld') should just work out of the box now with RDFLib 6.0.

One slightly related issue (but irrelevant if the move away from rdflib_jsonld is done) is that the code in https://github.com/RDFLib/pySHACL/blob/master/pyshacl/rdfutil/load.py#L21-L26 doesn't work:

File "/home/zenon/DEV/ETH/renku-python/renku/core/utils/shacl.py", line 21, in <module>
    from pyshacl import validate
  File "/home/zenon/.pyenv/versions/renku-python/lib/python3.7/site-packages/pyshacl/__init__.py", line 4, in <module>
    from .shapes_graph import ShapesGraph
  File "/home/zenon/.pyenv/versions/renku-python/lib/python3.7/site-packages/pyshacl/shapes_graph.py", line 7, in <module>
    from .constraints.constraint_component import CustomConstraintComponentFactory
  File "/home/zenon/.pyenv/versions/renku-python/lib/python3.7/site-packages/pyshacl/constraints/__init__.py", line 4, in <module>
    from pyshacl.constraints.constraint_component import ConstraintComponent
  File "/home/zenon/.pyenv/versions/renku-python/lib/python3.7/site-packages/pyshacl/constraints/constraint_component.py", line 36, in <module>
    from pyshacl.rdfutil import stringify_node
  File "/home/zenon/.pyenv/versions/renku-python/lib/python3.7/site-packages/pyshacl/rdfutil/__init__.py", line 7, in <module>
    from .load import get_rdf_from_web, load_from_source  # noqa: F401
  File "/home/zenon/.pyenv/versions/renku-python/lib/python3.7/site-packages/pyshacl/rdfutil/load.py", line 22, in <module>
    import rdflib_jsonld  # noqa: F401
ModuleNotFoundError: No module named 'rdflib_jsonld'

It raises a ModuleNotFoundError for me, not an IndexError on Python 3.7.4

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions