Skip to content

Commit 616819d

Browse files
committed
trie_and_other_modification
1 parent b9446fa commit 616819d

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

rdflib/namespace.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -694,7 +694,10 @@ def compute_qname_strict(self, uri, generate=True):
694694

695695
return self.__cache_strict[uri]
696696

697-
def unbind(self,prefix):
697+
def unbind(self, prefix):
698+
for ns in self.namespaces():
699+
if (ns[0] == prefix):
700+
del self.__trie[str(ns[1])]
698701
self.store.unbind(prefix)
699702

700703
def bind(self, prefix, namespace, override=True, replace=False):

rdflib/plugins/memory.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,10 @@ def __len__(self, context=None):
155155
def bind(self, prefix, namespace):
156156
self.__prefix[namespace] = prefix
157157
self.__namespace[prefix] = namespace
158+
158159
def unbind(self, prefix):
160+
temp_prefix = {x: y for x, y in self.__prefix.items() if y != prefix}
161+
self.__prefix = temp_prefix
159162
del self.__namespace[prefix]
160163

161164
def namespace(self, prefix):

0 commit comments

Comments
 (0)