RDFLib / rdflib

RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information.
https://rdflib.readthedocs.org
BSD 3-Clause "New" or "Revised" License
2.15k stars 555 forks source link

AttributeError: property 'name' of 'Param' object has no setter #2890

Open Superraptor opened 1 month ago

Superraptor commented 1 month ago

Hello! I'm attempting to use a couple other packages (WikidataIntegrator and wbsync, respectively) which unfortunately rely on rdflib==5.0.0. I know this version is probably not supported any longer, but I would love any advice on what to do, regardless of whether it is rdflib-specific or general info when running into conflicting dependencies in other packages.

Regardless, the stack trace looks like this:

Traceback (most recent call last):
  File "D:\proof_of_concept\wikiodk\wikibase_import.py", line 13, in <module>
    import wbsync.triplestore.wikibase_adapter
  File "C:\Users\[USERNAME]\anaconda3\envs\wbsync_test\Lib\site-packages\wbsync\triplestore\__init__.py", line 1, in <module>
    from .triple_info import AnonymousElement, TripleElement, URIElement, LiteralElement, TripleInfo
  File "C:\Users\[USERNAME]\anaconda3\envs\wbsync_test\Lib\site-packages\wbsync\triplestore\triple_info.py", line 7, in <module>
    from wikidataintegrator.wdi_core import WDBaseDataType, WDItemID, WDMonolingualText, \
  File "C:\Users\[USERNAME]\anaconda3\envs\wbsync_test\Lib\site-packages\wikidataintegrator\__init__.py", line 3, in <module>
    import wikidataintegrator.wdi_core
  File "C:\Users\[USERNAME]\anaconda3\envs\wbsync_test\Lib\site-packages\wikidataintegrator\wdi_core.py", line 16, in <module>
    from shexer.shaper import Shaper
  File "C:\Users\[USERNAME]\anaconda3\envs\wbsync_test\Lib\site-packages\shexer\shaper.py", line 6, in <module>
    from shexer.utils.factories.class_profiler_factory import get_class_profiler
  File "C:\Users\[USERNAME]\anaconda3\envs\wbsync_test\Lib\site-packages\shexer\utils\factories\class_profiler_factory.py", line 1, in <module>
    from shexer.utils.factories.triple_yielders_factory import get_triple_yielder
  File "C:\Users\[USERNAME]\anaconda3\envs\wbsync_test\Lib\site-packages\shexer\utils\factories\triple_yielders_factory.py", line 12, in <module>
    from shexer.utils.factories.shape_map_parser_factory import get_shape_map_parser
  File "C:\Users\[USERNAME]\anaconda3\envs\wbsync_test\Lib\site-packages\shexer\utils\factories\shape_map_parser_factory.py", line 2, in <module>
    from shexer.io.shape_map.shape_map_parser import JsonShapeMapParser, FixedShapeMapParser
  File "C:\Users\[USERNAME]\anaconda3\envs\wbsync_test\Lib\site-packages\shexer\io\shape_map\shape_map_parser.py", line 3, in <module>
    from shexer.io.shape_map.node_selector.node_selector_parser import NodeSelectorParser
  File "C:\Users\[USERNAME]\anaconda3\envs\wbsync_test\Lib\site-packages\shexer\io\shape_map\node_selector\node_selector_parser.py", line 4, in <module>
    from rdflib.plugins import sparql
  File "C:\Users\[USERNAME]\anaconda3\envs\wbsync_test\Lib\site-packages\rdflib\plugins\sparql\__init__.py", line 33, in <module>
    from . import parser
  File "C:\Users\[USERNAME]\anaconda3\envs\wbsync_test\Lib\site-packages\rdflib\plugins\sparql\parser.py", line 184, in <module>
    Param('prefix', PN_PREFIX)) + Suppress(':').leaveWhitespace()
    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\[USERNAME]\anaconda3\envs\wbsync_test\Lib\site-packages\rdflib\plugins\sparql\parserutils.py", line 114, in __init__
    self.name = name
    ^^^^^^^^^
AttributeError: property 'name' of 'Param' object has no setter

Is there any way to solve this directly? Or was it solved in a particular version of rdflib after 5.0.0? Any help on what to do or how to diagnose would be much, much appreciated!