-
Notifications
You must be signed in to change notification settings - Fork 555
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RDFLibGenid not matched by Graph.query() #1808
Comments
Mmm. The issue is related to the genid's type. Skolemization of a A quick recursive grep for # Check the BNode is now an RDFLibGenid after skolemization.
skolem_bnode = skolemized_graph.value(**query)
assert type(skolem_bnode) == RDFLibGenid Other than that, there aren't any tests of skolemized graphs/bnodes Looks we need to re-visit the implemented solution to issue #1404 and add some more tests. fwiw, just to confirm the origin of the issue, temporarily changing |
I assume the issue is due to the situation, that the terms are matched with a simple object lookup in a dictionary: |
Yes, I think you nailed where the fault lies (L#87 is elif subject is not None: # subject is given
spo = self.__spo
logger.debug(f"TRIPLES\nsubject=“{subject}” {type(subject)}\nspo=“{spo}”")
if subject in spo:
...
else: # given subject not found
logger.debug(f"Given subject {subject} not found")
pass logger reports:
Inspecting the call stack reveals that the call is from |
This issue may also be related: |
When I have a
Graph
object with a blank node in it and perform a skolemization on it, the graph generatesRDFLibGenid
instances which are not matched by IRIs in a query. To reproduce this I have created the following MWE.As can be seen, after serializing and parsing the graph, the node is a
URIRef
that is matched by the same query.The Output of the MWE:
The text was updated successfully, but these errors were encountered: