Changeset 88
- Timestamp:
- 01/27/08 23:49:45 (4 years ago)
- Files:
-
- 1 modified
-
rdfalchemy/trunk/rdfalchemy/rdfalchemy.py (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
rdfalchemy/trunk/rdfalchemy/rdfalchemy.py
r87 r88 120 120 else: 121 121 return rdfObject 122 123 def __delete__(self, obj): 124 # if this is a bnode like a list or a container a lot more should 125 # be done ala getList above 126 log.debug("DELETE with descriptor for %s on %s"%(self.pred, obj.resUri)) 127 # first drop the cached value 128 del obj.__dict__[self.name] 129 # next, drop the triples 130 for s,p,o in obj.db.triples((obj.resUri, self.pred, None)): 131 obj.db.remove((s,p,o)) 132 #finally if the object in the triple was a bnode 133 #cascade delete the thing it referenced 134 if isinstance(o,BNode): 135 rdfObject(o).remove(db=obj.db,cascade='bnode') 136 137 138 122 139 123 140 class rdflibSingle(rdflibAbstract): … … 159 176 #return None 160 177 161 def __delete__(self, obj):162 # if this is a bnode like a list or a container a lot more should163 # be done ala getList above164 log.debug("DELETE with descriptor for %s on %s"%(self.pred, obj.resUri))165 return obj.db.remove((obj.resUri,self.pred, None))166 167 178 168 179 class rdflibMultiple(rdflibAbstract): … … 188 199 log.debug("Geting %s for %s"%(self.pred,obj.resUri)) 189 200 return val 201 202 203 190 204 191 205 class rdflibList(rdflibMultiple): … … 438 452 for s,p,o in db.triples((None,None,self.resUri)): 439 453 db.set((s, p, name)) 440 441 442 454 self.resUri = name 443 455 444 456
