You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The definition of blank node equality runs afoul of keyspace definition for Ruby Hashes. This leads to repeated inserts of blank nodes that satisfy #==, and the same #id and `#hash, when they are not exactly the same object.
A (proposed) failing test for this is at rdf-spec. An alternate solution is to continue to fail that test, but check that internally unique blank nodes are reflected as such in serialized output.
The text was updated successfully, but these errors were encountered:
This is a serializer issue, isn't it? There's a :unique_bnodes option to Writer that re-issues BNode identifiers because of this reason; mostly, people expect to see the same BNode identifier used when re-serializing, so it's not the default.
You are inserting two different nodes, so they should be two different statements.
Alternatively, Writer could scan the graph/repo to look for BNodes with the same id which are different nodes and modify the id; however, Writer doesn't operate on graph/repo, but on each statement coming in, so it would probably need to keep a local memory and this could get ugly.
The definition of blank node equality runs afoul of keyspace definition for Ruby Hashes. This leads to repeated inserts of blank nodes that satisfy
#==
, and the same#id
and `#hash, when they are not exactly the same object.A (proposed) failing test for this is at rdf-spec. An alternate solution is to continue to fail that test, but check that internally unique blank nodes are reflected as such in serialized output.
The text was updated successfully, but these errors were encountered: