Skip to content

should sa.SparqlAnything() be idempotent? #22

@justin2004

Description

@justin2004

say you are at the REPL and you instantiate the sa engine but you forgot to assign it to a variable....

maybe subsequent invocations should return the same reference?

Python 3.12.4 (main, Jun  7 2024, 19:06:40) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pysparql_anything as sa
sa>>> sa.SparqlAnything()
<pysparql_anything.sparql_anything.SparqlAnything object at 0x77d81fc9bb90>
>>> engine=sa.SparqlAnything()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.12/site-packages/pysparql_anything/sparql_anything.py", line 25, in __init__
    self.receiver = SPARQLAnythingReflection(jvm_options)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/pysparql_anything/sparql_anything_reflection.py", line 43, in __init__
    jnius_config.set_classpath(get_path2jar())
  File "/usr/local/lib/python3.12/site-packages/jnius_config.py", line 47, in set_classpath
    check_vm_running()
  File "/usr/local/lib/python3.12/site-packages/jnius_config.py", line 20, in check_vm_running
    raise ValueError("VM is already running, can't set classpath/options; VM started at" + vm_started_at)
ValueError: VM is already running, can't set classpath/options; VM started at  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.12/site-packages/pysparql_anything/sparql_anything.py", line 25, in __init__
    self.receiver = SPARQLAnythingReflection(jvm_options)
  File "/usr/local/lib/python3.12/site-packages/pysparql_anything/sparql_anything_reflection.py", line 45, in __init__
    from jnius import autoclass
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/usr/local/lib/python3.12/site-packages/jnius/__init__.py", line 45, in <module>
    from .reflect import *  # noqa
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/usr/local/lib/python3.12/site-packages/jnius/reflect.py", line 19, in <module>
    class Class(JavaClass, metaclass=MetaJavaClass):

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions