Can't convert from PyPtr to related type
- Vorherrschende Sprache
- Julia
- Sterne
- 1.5k
- Forks
- 186
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Hello everyone and thanks for the great library. I was trying to use rdflib of Python in PyCall.jl. I'm using macos, Julia 1.9.1 and using `ENV["Python"]=""` with Conda.jl. With this code,
```julia
using PyCall
# Create an empty graph
graph = pyimport("rdflib").Graph()
# Define the namespace
ex = "http://example.org/"
# Define the triples
subject = pyimport("rdflib").URIRef(ex * "subject")
predicate = pyimport("rdflib").URIRef(ex * "predicate")
object = pyimport("rdflib").Literal("object")
# Add the triples to the graph
graph.add((subject, predicate, object))
```
I got the following output
```julia
ERROR: PyError ($(Expr(:escape, :(ccall(#= /Users/hiiroo/.julia/packages/PyCall/ilqDX/src/pyfncall.jl:43 =# @pysym(:PyObject_Call), PyPtr, (PyPtr, PyPtr, PyPtr), o, pyargsptr, kw)))))
AssertionError('Subject http://example.org/subject must be an rdflib term')
File "/Users/hiiroo/.julia/conda/3/lib/python3.7/site-packages/rdflib/graph.py", line 532, in add
assert isinstance(s, Node), "Subject %s must be an rdflib term" % (s,)
```
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Reproduziere das macOS-Julia-1.9.1-Beispiel mit PyCall.jl, Conda.jl und rdflib. Beginne bei PyCall's src/pyfncall.jl:43 und der rdflib-Assertion in graph.py und verfolge anschließend, wie die Argumente URIRef und Literal konvertiert werden. Als abgeschlossen gilt die Aufgabe, wenn der Aufruf graph.add die erstellten rdflib-Terme ohne den Assertion-Fehler akzeptiert.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 35/100