{"action":"created","comment":{"url":"https://api.github.com/repos/w3c/banana-rdf/pulls/comments/32892690","id":32892690,"diff_hunk":"@@ -0,0 +1,28 @@\n+package org.w3.banana.sesame\n+\n+import org.openrdf.repository.RepositoryConnection\n+import org.w3.banana.{Transactor, SparqlUpdate, RDFStore}\n+\n+import scala.util.{Failure, Try}\n+\n+trait SesameTransactor extends Transactor[Sesame,RepositoryConnection] {\n+\n+  def r[T](conn: RepositoryConnection, body: => T): Try[T] = Try{\n+    val result = body\n+    conn.close()\n+    result\n+  }\n+\n+  def rw[T](conn: RepositoryConnection, body: => T): Try[T] = Try{","path":"sesame/src/main/scala/org/w3/banana/sesame/SesameTransactor.scala","position":16,"original_position":16,"commit_id":"4935294998741dc86c2afff3403b316dde2da13e","original_commit_id":"4935294998741dc86c2afff3403b316dde2da13e","user":{"login":"InTheNow","id":5887373,"avatar_url":"https://avatars.githubusercontent.com/u/5887373?v=3","gravatar_id":"","url":"https://api.github.com/users/InTheNow","html_url":"https://github.com/InTheNow","followers_url":"https://api.github.com/users/InTheNow/followers","following_url":"https://api.github.com/users/InTheNow/following{/other_user}","gists_url":"https://api.github.com/users/InTheNow/gists{/gist_id}","starred_url":"https://api.github.com/users/InTheNow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/InTheNow/subscriptions","organizations_url":"https://api.github.com/users/InTheNow/orgs","repos_url":"https://api.github.com/users/InTheNow/repos","events_url":"https://api.github.com/users/InTheNow/events{/privacy}","received_events_url":"https://api.github.com/users/InTheNow/received_events","type":"User","site_admin":false},"body":"For both `rw` and `r` we have to ensure that the semantics are the same between implementations. For example, if a read transaction A is opened and a value read. If another tx B modifies that value, and A reads that value again, what does it see? There are two cases, btw, that is B commits/not commits.  ","created_at":"2015-06-21T11:20:21Z","updated_at":"2015-06-21T11:20:21Z","html_url":"https://github.com/w3c/banana-rdf/pull/274#discussion_r32892690","pull_request_url":"https://api.github.com/repos/w3c/banana-rdf/pulls/274","_links":{"self":{"href":"https://api.github.com/repos/w3c/banana-rdf/pulls/comments/32892690"},"html":{"href":"https://github.com/w3c/banana-rdf/pull/274#discussion_r32892690"},"pull_request":{"href":"https://api.github.com/repos/w3c/banana-rdf/pulls/274"}}},"pull_request":{"url":"https://api.github.com/repos/w3c/banana-rdf/pulls/274","id":36222249,"html_url":"https://github.com/w3c/banana-rdf/pull/274","diff_url":"https://github.com/w3c/banana-rdf/pull/274.diff","patch_url":"https://github.com/w3c/banana-rdf/pull/274.patch","issue_url":"https://api.github.com/repos/w3c/banana-rdf/issues/274","number":274,"state":"open","locked":false,"title":"implemented transactions for Sesame","user":{"login":"antonkulaga","id":842436,"avatar_url":"https://avatars.githubusercontent.com/u/842436?v=3","gravatar_id":"","url":"https://api.github.com/users/antonkulaga","html_url":"https://github.com/antonkulaga","followers_url":"https://api.github.com/users/antonkulaga/followers","following_url":"https://api.github.com/users/antonkulaga/following{/other_user}","gists_url":"https://api.github.com/users/antonkulaga/gists{/gist_id}","starred_url":"https://api.github.com/users/antonkulaga/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/antonkulaga/subscriptions","organizations_url":"https://api.github.com/users/antonkulaga/orgs","repos_url":"https://api.github.com/users/antonkulaga/repos","events_url":"https://api.github.com/users/antonkulaga/events{/privacy}","received_events_url":"https://api.github.com/users/antonkulaga/received_events","type":"User","site_admin":false},"body":"I implemented transactions for Sesame","created_at":"2015-05-26T16:46:33Z","updated_at":"2015-06-21T11:20:21Z","closed_at":null,"merged_at":null,"merge_commit_sha":"3fb361be54a542377219a877bcd1ed5f94938daf","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/w3c/banana-rdf/pulls/274/commits","review_comments_url":"https://api.github.com/repos/w3c/banana-rdf/pulls/274/comments","review_comment_url":"https://api.github.com/repos/w3c/banana-rdf/pulls/comments{/number}","comments_url":"https://api.github.com/repos/w3c/banana-rdf/issues/274/comments","statuses_url":"https://api.github.com/repos/w3c/banana-rdf/statuses/4935294998741dc86c2afff3403b316dde2da13e","head":{"label":"antonkulaga:sesame_update","ref":"sesame_update","sha":"4935294998741dc86c2afff3403b316dde2da13e","user":{"login":"antonkulaga","id":842436,"avatar_url":"https://avatars.githubusercontent.com/u/842436?v=3","gravatar_id":"","url":"https://api.github.com/users/antonkulaga","html_url":"https://github.com/antonkulaga","followers_url":"https://api.github.com/users/antonkulaga/followers","following_url":"https://api.github.com/users/antonkulaga/following{/other_user}","gists_url":"https://api.github.com/users/antonkulaga/gists{/gist_id}","starred_url":"https://api.github.com/users/antonkulaga/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/antonkulaga/subscriptions","organizations_url":"https://api.github.com/users/antonkulaga/orgs","repos_url":"https://api.github.com/users/antonkulaga/repos","events_url":"https://api.github.com/users/antonkulaga/events{/privacy}","received_events_url":"https://api.github.com/users/antonkulaga/received_events","type":"User","site_admin":false},"repo":{"id":26274615,"name":"banana-rdf","full_name":"antonkulaga/banana-rdf","owner":{"login":"antonkulaga","id":842436,"avatar_url":"https://avatars.githubusercontent.com/u/842436?v=3","gravatar_id":"","url":"https://api.github.com/users/antonkulaga","html_url":"https://github.com/antonkulaga","followers_url":"https://api.github.com/users/antonkulaga/followers","following_url":"https://api.github.com/users/antonkulaga/following{/other_user}","gists_url":"https://api.github.com/users/antonkulaga/gists{/gist_id}","starred_url":"https://api.github.com/users/antonkulaga/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/antonkulaga/subscriptions","organizations_url":"https://api.github.com/users/antonkulaga/orgs","repos_url":"https://api.github.com/users/antonkulaga/repos","events_url":"https://api.github.com/users/antonkulaga/events{/privacy}","received_events_url":"https://api.github.com/users/antonkulaga/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/antonkulaga/banana-rdf","description":"Banana RDF","fork":true,"url":"https://api.github.com/repos/antonkulaga/banana-rdf","forks_url":"https://api.github.com/repos/antonkulaga/banana-rdf/forks","keys_url":"https://api.github.com/repos/antonkulaga/banana-rdf/keys{/key_id}","collaborators_url":"https://api.github.com/repos/antonkulaga/banana-rdf/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/antonkulaga/banana-rdf/teams","hooks_url":"https://api.github.com/repos/antonkulaga/banana-rdf/hooks","issue_events_url":"https://api.github.com/repos/antonkulaga/banana-rdf/issues/events{/number}","events_url":"https://api.github.com/repos/antonkulaga/banana-rdf/events","assignees_url":"https://api.github.com/repos/antonkulaga/banana-rdf/assignees{/user}","branches_url":"https://api.github.com/repos/antonkulaga/banana-rdf/branches{/branch}","tags_url":"https://api.github.com/repos/antonkulaga/banana-rdf/tags","blobs_url":"https://api.github.com/repos/antonkulaga/banana-rdf/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/antonkulaga/banana-rdf/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/antonkulaga/banana-rdf/git/refs{/sha}","trees_url":"https://api.github.com/repos/antonkulaga/banana-rdf/git/trees{/sha}","statuses_url":"https://api.github.com/repos/antonkulaga/banana-rdf/statuses/{sha}","languages_url":"https://api.github.com/repos/antonkulaga/banana-rdf/languages","stargazers_url":"https://api.github.com/repos/antonkulaga/banana-rdf/stargazers","contributors_url":"https://api.github.com/repos/antonkulaga/banana-rdf/contributors","subscribers_url":"https://api.github.com/repos/antonkulaga/banana-rdf/subscribers","subscription_url":"https://api.github.com/repos/antonkulaga/banana-rdf/subscription","commits_url":"https://api.github.com/repos/antonkulaga/banana-rdf/commits{/sha}","git_commits_url":"https://api.github.com/repos/antonkulaga/banana-rdf/git/commits{/sha}","comments_url":"https://api.github.com/repos/antonkulaga/banana-rdf/comments{/number}","issue_comment_url":"https://api.github.com/repos/antonkulaga/banana-rdf/issues/comments{/number}","contents_url":"https://api.github.com/repos/antonkulaga/banana-rdf/contents/{+path}","compare_url":"https://api.github.com/repos/antonkulaga/banana-rdf/compare/{base}...{head}","merges_url":"https://api.github.com/repos/antonkulaga/banana-rdf/merges","archive_url":"https://api.github.com/repos/antonkulaga/banana-rdf/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/antonkulaga/banana-rdf/downloads","issues_url":"https://api.github.com/repos/antonkulaga/banana-rdf/issues{/number}","pulls_url":"https://api.github.com/repos/antonkulaga/banana-rdf/pulls{/number}","milestones_url":"https://api.github.com/repos/antonkulaga/banana-rdf/milestones{/number}","notifications_url":"https://api.github.com/repos/antonkulaga/banana-rdf/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/antonkulaga/banana-rdf/labels{/name}","releases_url":"https://api.github.com/repos/antonkulaga/banana-rdf/releases{/id}","created_at":"2014-11-06T14:54:54Z","updated_at":"2015-05-23T22:30:08Z","pushed_at":"2015-06-18T21:49:20Z","git_url":"git://github.com/antonkulaga/banana-rdf.git","ssh_url":"git@github.com:antonkulaga/banana-rdf.git","clone_url":"https://github.com/antonkulaga/banana-rdf.git","svn_url":"https://github.com/antonkulaga/banana-rdf","homepage":null,"size":5103,"stargazers_count":0,"watchers_count":0,"language":"Scala","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":0,"default_branch":"bigdata"}},"base":{"label":"w3c:series/0.8.x","ref":"series/0.8.x","sha":"0e7eba4312dddda1d28313f705f5443736781699","user":{"login":"w3c","id":379216,"avatar_url":"https://avatars.githubusercontent.com/u/379216?v=3","gravatar_id":"","url":"https://api.github.com/users/w3c","html_url":"https://github.com/w3c","followers_url":"https://api.github.com/users/w3c/followers","following_url":"https://api.github.com/users/w3c/following{/other_user}","gists_url":"https://api.github.com/users/w3c/gists{/gist_id}","starred_url":"https://api.github.com/users/w3c/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/w3c/subscriptions","organizations_url":"https://api.github.com/users/w3c/orgs","repos_url":"https://api.github.com/users/w3c/repos","events_url":"https://api.github.com/users/w3c/events{/privacy}","received_events_url":"https://api.github.com/users/w3c/received_events","type":"Organization","site_admin":false},"repo":{"id":4179427,"name":"banana-rdf","full_name":"w3c/banana-rdf","owner":{"login":"w3c","id":379216,"avatar_url":"https://avatars.githubusercontent.com/u/379216?v=3","gravatar_id":"","url":"https://api.github.com/users/w3c","html_url":"https://github.com/w3c","followers_url":"https://api.github.com/users/w3c/followers","following_url":"https://api.github.com/users/w3c/following{/other_user}","gists_url":"https://api.github.com/users/w3c/gists{/gist_id}","starred_url":"https://api.github.com/users/w3c/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/w3c/subscriptions","organizations_url":"https://api.github.com/users/w3c/orgs","repos_url":"https://api.github.com/users/w3c/repos","events_url":"https://api.github.com/users/w3c/events{/privacy}","received_events_url":"https://api.github.com/users/w3c/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/w3c/banana-rdf","description":"Banana RDF","fork":false,"url":"https://api.github.com/repos/w3c/banana-rdf","forks_url":"https://api.github.com/repos/w3c/banana-rdf/forks","keys_url":"https://api.github.com/repos/w3c/banana-rdf/keys{/key_id}","collaborators_url":"https://api.github.com/repos/w3c/banana-rdf/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/w3c/banana-rdf/teams","hooks_url":"https://api.github.com/repos/w3c/banana-rdf/hooks","issue_events_url":"https://api.github.com/repos/w3c/banana-rdf/issues/events{/number}","events_url":"https://api.github.com/repos/w3c/banana-rdf/events","assignees_url":"https://api.github.com/repos/w3c/banana-rdf/assignees{/user}","branches_url":"https://api.github.com/repos/w3c/banana-rdf/branches{/branch}","tags_url":"https://api.github.com/repos/w3c/banana-rdf/tags","blobs_url":"https://api.github.com/repos/w3c/banana-rdf/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/w3c/banana-rdf/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/w3c/banana-rdf/git/refs{/sha}","trees_url":"https://api.github.com/repos/w3c/banana-rdf/git/trees{/sha}","statuses_url":"https://api.github.com/repos/w3c/banana-rdf/statuses/{sha}","languages_url":"https://api.github.com/repos/w3c/banana-rdf/languages","stargazers_url":"https://api.github.com/repos/w3c/banana-rdf/stargazers","contributors_url":"https://api.github.com/repos/w3c/banana-rdf/contributors","subscribers_url":"https://api.github.com/repos/w3c/banana-rdf/subscribers","subscription_url":"https://api.github.com/repos/w3c/banana-rdf/subscription","commits_url":"https://api.github.com/repos/w3c/banana-rdf/commits{/sha}","git_commits_url":"https://api.github.com/repos/w3c/banana-rdf/git/commits{/sha}","comments_url":"https://api.github.com/repos/w3c/banana-rdf/comments{/number}","issue_comment_url":"https://api.github.com/repos/w3c/banana-rdf/issues/comments{/number}","contents_url":"https://api.github.com/repos/w3c/banana-rdf/contents/{+path}","compare_url":"https://api.github.com/repos/w3c/banana-rdf/compare/{base}...{head}","merges_url":"https://api.github.com/repos/w3c/banana-rdf/merges","archive_url":"https://api.github.com/repos/w3c/banana-rdf/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/w3c/banana-rdf/downloads","issues_url":"https://api.github.com/repos/w3c/banana-rdf/issues{/number}","pulls_url":"https://api.github.com/repos/w3c/banana-rdf/pulls{/number}","milestones_url":"https://api.github.com/repos/w3c/banana-rdf/milestones{/number}","notifications_url":"https://api.github.com/repos/w3c/banana-rdf/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/w3c/banana-rdf/labels{/name}","releases_url":"https://api.github.com/repos/w3c/banana-rdf/releases{/id}","created_at":"2012-04-30T03:02:56Z","updated_at":"2015-06-17T05:32:37Z","pushed_at":"2015-06-21T08:41:21Z","git_url":"git://github.com/w3c/banana-rdf.git","ssh_url":"git@github.com:w3c/banana-rdf.git","clone_url":"https://github.com/w3c/banana-rdf.git","svn_url":"https://github.com/w3c/banana-rdf","homepage":null,"size":7385,"stargazers_count":147,"watchers_count":147,"language":"Scala","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":40,"mirror_url":null,"open_issues_count":81,"forks":40,"open_issues":81,"watchers":147,"default_branch":"series/0.8.x"}},"_links":{"self":{"href":"https://api.github.com/repos/w3c/banana-rdf/pulls/274"},"html":{"href":"https://github.com/w3c/banana-rdf/pull/274"},"issue":{"href":"https://api.github.com/repos/w3c/banana-rdf/issues/274"},"comments":{"href":"https://api.github.com/repos/w3c/banana-rdf/issues/274/comments"},"review_comments":{"href":"https://api.github.com/repos/w3c/banana-rdf/pulls/274/comments"},"review_comment":{"href":"https://api.github.com/repos/w3c/banana-rdf/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/w3c/banana-rdf/pulls/274/commits"},"statuses":{"href":"https://api.github.com/repos/w3c/banana-rdf/statuses/4935294998741dc86c2afff3403b316dde2da13e"}}}}