History | Log In     View a printable version of the current page. Get help!  
Issue Details [XML]

Key: SES-147
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Jeen Broekstra
Reporter: Arjohn Kampman
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Sesame

bnode IDs reused when adding Graphs to LocalRepository's

Created: 22/Apr/05 10:31 AM   Updated: 17/Jun/05 10:14 AM
Component/s: Repository API
Affects Version/s: 1.1, 1.1.1, 1.1.2, 1.1.3
Fix Version/s: 1.2

Issue Links:
Cause
This issue causes:
SES-166 Graph.add(Graph) behaves as merge rat... Major Closed
 


 Description   
Issue reported on forum: http://www.openrdf.org/forum/mvnforum/viewthread?thread=416#2297

Adding a Graph object to a LocalRepository makes the underlying Sail object reuse the bnode IDs from the Graph object. The bnode IDs from the graph should instead be mapped to new bnodes created by the underlying Sail object.

 All   Comments   Change History      Sort Order:
Comment by Jeen Broekstra [10/May/05 01:16 PM]
A fix is to implement two separate methods:

SesameRepository.addGraph() always creates new blank nodes

SesameRepository.mergeGraph() reuses blank nodes that originate from the same repository.

Comment by Jeen Broekstra [10/May/05 02:19 PM]
Issue fixed in trunk, will be available in Sesame 1.2-RC1

Comment by Jeen Broekstra [15/Jun/05 10:49 AM]
This solution is probably not ideal, we are considering reimplementing this with a boolean parameter for the add method rather than having two separate methods.

Comment by Jeen Broekstra [15/Jun/05 12:51 PM]
Reimplementation has been checked in that gives a more intuitive and consequent interface: all add methods by default now join reused blank nodes when appropriate. This behaviour can be switched by a boolean parameter to creating new blank nodes every time. The previous 'merge' methods have been removed.