You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@s2graph.apache.org by "Hyunsung Jo (JIRA)" <ji...@apache.org> on 2016/02/24 01:12:18 UTC
[jira] [Commented] (S2GRAPH-12) Add Label Name Swap Feature
[ https://issues.apache.org/jira/browse/S2GRAPH-12?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15159926#comment-15159926 ]
Hyunsung Jo commented on S2GRAPH-12:
------------------------------------
*Create service*
{noformat}
curl -XPOST localhost:9000/graphs/createService -H 'Content-Type: Application/json' -d '
{"serviceName": "KakaoFavorites", "compressionAlgorithm" : "gz", "hTableName": "KakaoFavorites-dev"}
'
curl -XGET localhost:9000/graphs/getService/KakaoFavorites
{noformat}
*Create label*
{noformat}
curl -XPOST localhost:9000/graphs/createLabel -H 'Content-Type: Application/json' -d '
{
"label": "friends_old",
"srcServiceName": "KakaoFavorites",
"srcColumnName": "userName",
"srcColumnType": "string",
"tgtServiceName": "KakaoFavorites",
"tgtColumnName": "userName",
"tgtColumnType": "string",
"isDirected": "false",
"indices": [],
"props": []
}
'
{noformat}
*Insert data to label*
{noformat}
curl -XPOST localhost:9000/graphs/edges/insert -H 'Content-Type: Application/json' -d '
{"from":"Cookie Monster","to":"Oscar","label":"friends_old","props":{},"timestamp":1}
'
{noformat}
*Create new label*
{noformat}
curl -XPOST localhost:9000/graphs/createLabel -H 'Content-Type: Application/json' -d '
{
"label": "friends_new",
"srcServiceName": "KakaoFavorites",
"srcColumnName": "userName",
"srcColumnType": "string",
"tgtServiceName": "KakaoFavorites",
"tgtColumnName": "userName",
"tgtColumnType": "string",
"isDirected": "false",
"indices": [],
"props": []
}
'
{noformat}
*Insert data to new label*
{noformat}
curl -XPOST localhost:9000/graphs/edges/insert -H 'Content-Type: Application/json' -d '
{"from":"Cookie Monster","to":"Elmo","label":"friends","props":{},"timestamp":2}
'
{noformat}
*Swap labels (This API is what we're trying to implement!)*
{noformat}
curl -XPOST localhost:9000/admin/swapLabel/friends_old/friends_new
{noformat}
*Access the new data "Cookie Monster - Elmo" from the original label*
{noformat}
curl -XPOST localhost:9000/graphs/checkEdges -H 'Content-Type: Application/json' -d '
[
{"label": "friends_old", "direction": "out", "from": "Cookie Monster", "to": "Oscar"}
]
'
{noformat}
> Add Label Name Swap Feature
> ---------------------------
>
> Key: S2GRAPH-12
> URL: https://issues.apache.org/jira/browse/S2GRAPH-12
> Project: S2Graph
> Issue Type: New Feature
> Reporter: Hyunsung Jo
> Labels: feature
>
> Operating live services on S2Graph, there are a few cases where interchanging two label names could come in handy.
> For example, assume that a social graph is being served under the label name _A_, and an updated graph has been loaded to _A'_.
> It would be nice if one can refer to the updated data of _A'_ while still making requests to the same label name _A_ so that no client-side code change is required.
> Obviously, this feature should have transaction support.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)