Skip to content

Commit 48e9604

Browse files
committed
Merge pull request #605 from pchampin/fix-issue-604
Collection.__setitem__ now clears old value, fixes issue #604
2 parents 712c3fc + 6bf4f85 commit 48e9604

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

rdflib/collection.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ def __setitem__(self, key, value):
129129
"""TODO"""
130130
c = self._get_container(key)
131131
if c:
132-
self.graph.add((c, RDF.first, value))
132+
self.graph.set((c, RDF.first, value))
133133
else:
134134
raise IndexError(key)
135135

test/test_issue604.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
from __future__ import print_function
2+
3+
from rdflib import *
4+
from rdflib.collection import Collection
5+
6+
def test_issue604():
7+
8+
EX = Namespace('http://ex.co/')
9+
g = Graph()
10+
bn = BNode()
11+
g.add((EX.s, EX.p, bn))
12+
c = Collection(g, bn, map(Literal, [1,2,4]))
13+
c[2] = Literal(3)
14+
got = list(g.objects(bn, RDF.rest/RDF.rest/RDF.first))
15+
expected = [ Literal(3) ]
16+
assert got == [ Literal(3) ], got
17+

0 commit comments

Comments
 (0)