[jira] [Comment Edited] (S2GRAPH-222) Support Not logical operator in WhereParser.

2018-06-14 Thread Daewon Jeong (JIRA)


[ 
https://issues.apache.org/jira/browse/S2GRAPH-222?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16513352#comment-16513352
 ] 

Daewon Jeong edited comment on S2GRAPH-222 at 6/15/18 5:17 AM:
---

[~steamshon]

I think `Where Parser` should follow the grammar of the where clause of 
standard SQL.

If  follow the syntax of the standard SQL clause, user can easily predict usage.

I think that the revised contents have been modified well in the parts which 
had been previously implemented incorrectly (not the general processing but 
specifically the `NOT IN` processing)

But for a more predictable syntax, I think it would be better to implement all 
the `NOT condition` clauses of the type supported by the standard SQL.
{code:sql}
NOT condition
{code}
Below is all valid SQL queries.

 

ex) NOT IN clause
{code:sql}
SELECT Id, CompanyName, City, Country
FROM Supplier
WHERE NOT (Country IN ('USA', 'UK', 'Japan'))
{code}
{code:sql}
SELECT Id, ProductName, UnitPrice
FROM Product
WHERE UnitPrice NOT IN (10,20,30,40,50)
{code}
ex) NOT like
{code:sql}
SELECT *
FROM suppliers
WHERE supplier_name NOT LIKE '%o%';
{code}
{code:sql}
SELECT *
FROM suppliers
WHERE NOT(supplier_name LIKE '%o%');
{code}
link: [http://www.dofactory.com/sql/where-in]


was (Author: daewon):
[~steamshon]

I think `Where Parser` should follow the grammar of the where clause of 
standard SQL.

If  follow the syntax of the standard SQL clause, user can easily predict usage.

I think that the revised contents have been modified well in the parts which 
had been previously implemented incorrectly (not the general processing but 
specifically the `NOT IN` processing)

But for a more predictable syntax, I think it would be better to implement all 
the `NOT condition` clauses of the type supported by the standard SQL.

 

> Support Not logical operator in  WhereParser.
> -
>
> Key: S2GRAPH-222
> URL: https://issues.apache.org/jira/browse/S2GRAPH-222
> Project: S2Graph
>  Issue Type: New Feature
>  Components: s2core
>Reporter: DOYUNG YOON
>Assignee: DOYUNG YOON
>Priority: Minor
>
> `And/Or` operator is implemented as a logical operator, but `Not` is not 
> implemented in WhereParser.
> This is illustrated by following examples.
> Following query works only because we added hardcoded implementation on `not 
> in` as predicates.
> {noformat}
> query {
>   s2graph { 
> User(id: 1) {
>   id
>   Friends(limit: 10, filter: "friend_name not in ('steamshon')") {
> User { 
>   id
> }
>   }
> }
>   }
> }
> {noformat}
> I believe implementing `Not` as a logical operator is more general, so below 
> is my suggestion.
> {noformat}
> query {
>   s2graph { 
> User(id: 1) {
>   id
>   Friends(limit: 10, filter: "NOT (friend_name in ('steamshon'))") {
> User { 
>   id
> }
>   }
> }
>   }
> }
> {noformat}
> In this way, we don't need to implement not case for all predicates, such as 
> `in`, `between`, `contains`, `eq`.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (S2GRAPH-222) Support Not logical operator in WhereParser.

2018-06-14 Thread Daewon Jeong (JIRA)


[ 
https://issues.apache.org/jira/browse/S2GRAPH-222?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16513352#comment-16513352
 ] 

Daewon Jeong commented on S2GRAPH-222:
--

[~steamshon]

I think `Where Parser` should follow the grammar of the where clause of 
standard SQL.

If  follow the syntax of the standard SQL clause, user can easily predict usage.

I think that the revised contents have been modified well in the parts which 
had been previously implemented incorrectly (not the general processing but 
specifically the `NOT IN` processing)

But for a more predictable syntax, I think it would be better to implement all 
the `NOT condition` clauses of the type supported by the standard SQL.

 

> Support Not logical operator in  WhereParser.
> -
>
> Key: S2GRAPH-222
> URL: https://issues.apache.org/jira/browse/S2GRAPH-222
> Project: S2Graph
>  Issue Type: New Feature
>  Components: s2core
>Reporter: DOYUNG YOON
>Assignee: DOYUNG YOON
>Priority: Minor
>
> `And/Or` operator is implemented as a logical operator, but `Not` is not 
> implemented in WhereParser.
> This is illustrated by following examples.
> Following query works only because we added hardcoded implementation on `not 
> in` as predicates.
> {noformat}
> query {
>   s2graph { 
> User(id: 1) {
>   id
>   Friends(limit: 10, filter: "friend_name not in ('steamshon')") {
> User { 
>   id
> }
>   }
> }
>   }
> }
> {noformat}
> I believe implementing `Not` as a logical operator is more general, so below 
> is my suggestion.
> {noformat}
> query {
>   s2graph { 
> User(id: 1) {
>   id
>   Friends(limit: 10, filter: "NOT (friend_name in ('steamshon'))") {
> User { 
>   id
> }
>   }
> }
>   }
> }
> {noformat}
> In this way, we don't need to implement not case for all predicates, such as 
> `in`, `between`, `contains`, `eq`.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (S2GRAPH-223) Support WhereParser on Vertex.

2018-06-14 Thread DOYUNG YOON (JIRA)
DOYUNG YOON created S2GRAPH-223:
---

 Summary: Support WhereParser on Vertex.
 Key: S2GRAPH-223
 URL: https://issues.apache.org/jira/browse/S2GRAPH-223
 Project: S2Graph
  Issue Type: New Feature
  Components: s2core
Reporter: DOYUNG YOON


Currently, WhereParser is only available for Edge so it is not possible to 
filter vertex with predicates.

One example query would look like followings.
{noformat}
query {
  s2graph {
User(id: 1, filter: "name contains 'steamshon'") {
  id
}
  }
}
{noformat}
I suggest to add vertex support in WhereParser, so GraphQL query can also 
benefit from WhereParser.

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (S2GRAPH-222) Support Not logical operator in WhereParser.

2018-06-14 Thread DOYUNG YOON (JIRA)


[ 
https://issues.apache.org/jira/browse/S2GRAPH-222?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16513258#comment-16513258
 ] 

DOYUNG YOON commented on S2GRAPH-222:
-

[~daewon]  

Since my changes are very small, I opened 
[https://github.com/apache/incubator-s2graph/pull/174]. 

Seems like you have feedback on this, and I would appreciate elaborate it.

 

> Support Not logical operator in  WhereParser.
> -
>
> Key: S2GRAPH-222
> URL: https://issues.apache.org/jira/browse/S2GRAPH-222
> Project: S2Graph
>  Issue Type: New Feature
>  Components: s2core
>Reporter: DOYUNG YOON
>Assignee: DOYUNG YOON
>Priority: Minor
>
> `And/Or` operator is implemented as a logical operator, but `Not` is not 
> implemented in WhereParser.
> This is illustrated by following examples.
> Following query works only because we added hardcoded implementation on `not 
> in` as predicates.
> {noformat}
> query {
>   s2graph { 
> User(id: 1) {
>   id
>   Friends(limit: 10, filter: "friend_name not in ('steamshon')") {
> User { 
>   id
> }
>   }
> }
>   }
> }
> {noformat}
> I believe implementing `Not` as a logical operator is more general, so below 
> is my suggestion.
> {noformat}
> query {
>   s2graph { 
> User(id: 1) {
>   id
>   Friends(limit: 10, filter: "NOT (friend_name in ('steamshon'))") {
> User { 
>   id
> }
>   }
> }
>   }
> }
> {noformat}
> In this way, we don't need to implement not case for all predicates, such as 
> `in`, `between`, `contains`, `eq`.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (S2GRAPH-222) Support Not logical operator in WhereParser.

2018-06-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/S2GRAPH-222?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16513257#comment-16513257
 ] 

ASF GitHub Bot commented on S2GRAPH-222:


GitHub user SteamShon opened a pull request:

https://github.com/apache/incubator-s2graph/pull/174

[S2GRAPH-222]: Support Not logical operator in WhereParser.

- add 'NOT' logical operator.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/SteamShon/incubator-s2graph S2GRAPH-222

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-s2graph/pull/174.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #174


commit f288680c46c23ac90fba1741baf494c061921277
Author: DO YUNG YOON 
Date:   2018-06-15T02:21:17Z

add Not logical operator on WhereParser.

commit 428c453506d3f89d22135f2518dc2a601f5070f8
Author: DO YUNG YOON 
Date:   2018-06-15T02:45:55Z

remove not in.




> Support Not logical operator in  WhereParser.
> -
>
> Key: S2GRAPH-222
> URL: https://issues.apache.org/jira/browse/S2GRAPH-222
> Project: S2Graph
>  Issue Type: New Feature
>  Components: s2core
>Reporter: DOYUNG YOON
>Assignee: DOYUNG YOON
>Priority: Minor
>
> `And/Or` operator is implemented as a logical operator, but `Not` is not 
> implemented in WhereParser.
> This is illustrated by following examples.
> Following query works only because we added hardcoded implementation on `not 
> in` as predicates.
> {noformat}
> query {
>   s2graph { 
> User(id: 1) {
>   id
>   Friends(limit: 10, filter: "friend_name not in ('steamshon')") {
> User { 
>   id
> }
>   }
> }
>   }
> }
> {noformat}
> I believe implementing `Not` as a logical operator is more general, so below 
> is my suggestion.
> {noformat}
> query {
>   s2graph { 
> User(id: 1) {
>   id
>   Friends(limit: 10, filter: "NOT (friend_name in ('steamshon'))") {
> User { 
>   id
> }
>   }
> }
>   }
> }
> {noformat}
> In this way, we don't need to implement not case for all predicates, such as 
> `in`, `between`, `contains`, `eq`.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (S2GRAPH-222) Support Not logical operator in WhereParser.

2018-06-14 Thread Daewon Jeong (JIRA)


[ 
https://issues.apache.org/jira/browse/S2GRAPH-222?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16513243#comment-16513243
 ] 

Daewon Jeong commented on S2GRAPH-222:
--

[~steamshon] I'm interested in the issue.
Is it okay to assign this issue to me?

> Support Not logical operator in  WhereParser.
> -
>
> Key: S2GRAPH-222
> URL: https://issues.apache.org/jira/browse/S2GRAPH-222
> Project: S2Graph
>  Issue Type: New Feature
>  Components: s2core
>Reporter: DOYUNG YOON
>Assignee: DOYUNG YOON
>Priority: Minor
>
> `And/Or` operator is implemented as a logical operator, but `Not` is not 
> implemented in WhereParser.
> This is illustrated by following examples.
> Following query works only because we added hardcoded implementation on `not 
> in` as predicates.
> {noformat}
> query {
>   s2graph { 
> User(id: 1) {
>   id
>   Friends(limit: 10, filter: "friend_name not in ('steamshon')") {
> User { 
>   id
> }
>   }
> }
>   }
> }
> {noformat}
> I believe implementing `Not` as a logical operator is more general, so below 
> is my suggestion.
> {noformat}
> query {
>   s2graph { 
> User(id: 1) {
>   id
>   Friends(limit: 10, filter: "NOT (friend_name in ('steamshon'))") {
> User { 
>   id
> }
>   }
> }
>   }
> }
> {noformat}
> In this way, we don't need to implement not case for all predicates, such as 
> `in`, `between`, `contains`, `eq`.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (S2GRAPH-222) Support Not logical operator in WhereParser.

2018-06-14 Thread DOYUNG YOON (JIRA)


 [ 
https://issues.apache.org/jira/browse/S2GRAPH-222?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

DOYUNG YOON updated S2GRAPH-222:

Description: 
`And/Or` operator is implemented as a logical operator, but `Not` is not 
implemented in WhereParser.

This is illustrated by following examples.

Following query works only because we added hardcoded implementation on `not 
in` as predicates.

{noformat}
query {
  s2graph { 
User(id: 1) {
  id
  Friends(limit: 10, filter: "friend_name not in ('steamshon')") {
User { 
  id
}
  }
}
  }
}

{noformat}

I believe implementing `Not` as a logical operator is more general, so below is 
my suggestion.

{noformat}
query {
  s2graph { 
User(id: 1) {
  id
  Friends(limit: 10, filter: "NOT (friend_name in ('steamshon'))") {
User { 
  id
}
  }
}
  }
}
{noformat}

In this way, we don't need to implement not case for all predicates, such as 
`in`, `between`, `contains`, `eq`.


  was:

`And/Or` operator is implemented as a logical operator, but `Not` is not 
implemented in WhereParser.

This is illustrated by following examples.

Following query works only because we added hardcoded implementation on `not 
in` as predicates.

{noformat}
query {
s2graph { 
User(id: 1) {
id
Friends(limit: 10, filter: "friend_name not in 
('steamshon')")
}
}
}
{noformat}

I believe implementing `Not` as a logical operator is more general, so below is 
my suggestion.

{noformat}
query {
s2graph { 
User(id: 1) {
id
Friends(limit: 10, filter: "NOT (friend_name in 
('steamshon'))")
}
}
}
{noformat}

In this way, we don't need to implement not case for all predicates, such as 
`in`, `between`, `contains`, `eq`.



> Support Not logical operator in  WhereParser.
> -
>
> Key: S2GRAPH-222
> URL: https://issues.apache.org/jira/browse/S2GRAPH-222
> Project: S2Graph
>  Issue Type: New Feature
>  Components: s2core
>Reporter: DOYUNG YOON
>Assignee: DOYUNG YOON
>Priority: Minor
>
> `And/Or` operator is implemented as a logical operator, but `Not` is not 
> implemented in WhereParser.
> This is illustrated by following examples.
> Following query works only because we added hardcoded implementation on `not 
> in` as predicates.
> {noformat}
> query {
>   s2graph { 
> User(id: 1) {
>   id
>   Friends(limit: 10, filter: "friend_name not in ('steamshon')") {
> User { 
>   id
> }
>   }
> }
>   }
> }
> {noformat}
> I believe implementing `Not` as a logical operator is more general, so below 
> is my suggestion.
> {noformat}
> query {
>   s2graph { 
> User(id: 1) {
>   id
>   Friends(limit: 10, filter: "NOT (friend_name in ('steamshon'))") {
> User { 
>   id
> }
>   }
> }
>   }
> }
> {noformat}
> In this way, we don't need to implement not case for all predicates, such as 
> `in`, `between`, `contains`, `eq`.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Assigned] (S2GRAPH-222) Support Not logical operator in WhereParser.

2018-06-14 Thread DOYUNG YOON (JIRA)


 [ 
https://issues.apache.org/jira/browse/S2GRAPH-222?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

DOYUNG YOON reassigned S2GRAPH-222:
---

Assignee: DOYUNG YOON

> Support Not logical operator in  WhereParser.
> -
>
> Key: S2GRAPH-222
> URL: https://issues.apache.org/jira/browse/S2GRAPH-222
> Project: S2Graph
>  Issue Type: New Feature
>  Components: s2core
>Reporter: DOYUNG YOON
>Assignee: DOYUNG YOON
>Priority: Minor
>
> `And/Or` operator is implemented as a logical operator, but `Not` is not 
> implemented in WhereParser.
> This is illustrated by following examples.
> Following query works only because we added hardcoded implementation on `not 
> in` as predicates.
> {noformat}
> query {
>   s2graph { 
>   User(id: 1) {
>   id
>   Friends(limit: 10, filter: "friend_name not in 
> ('steamshon')")
>   }
>   }
> }
> {noformat}
> I believe implementing `Not` as a logical operator is more general, so below 
> is my suggestion.
> {noformat}
> query {
>   s2graph { 
>   User(id: 1) {
>   id
>   Friends(limit: 10, filter: "NOT (friend_name in 
> ('steamshon'))")
>   }
>   }
> }
> {noformat}
> In this way, we don't need to implement not case for all predicates, such as 
> `in`, `between`, `contains`, `eq`.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (S2GRAPH-222) Support Not logical operator in WhereParser.

2018-06-14 Thread DOYUNG YOON (JIRA)
DOYUNG YOON created S2GRAPH-222:
---

 Summary: Support Not logical operator in  WhereParser.
 Key: S2GRAPH-222
 URL: https://issues.apache.org/jira/browse/S2GRAPH-222
 Project: S2Graph
  Issue Type: New Feature
  Components: s2core
Reporter: DOYUNG YOON



`And/Or` operator is implemented as a logical operator, but `Not` is not 
implemented in WhereParser.

This is illustrated by following examples.

Following query works only because we added hardcoded implementation on `not 
in` as predicates.

{noformat}
query {
s2graph { 
User(id: 1) {
id
Friends(limit: 10, filter: "friend_name not in 
('steamshon')")
}
}
}
{noformat}

I believe implementing `Not` as a logical operator is more general, so below is 
my suggestion.

{noformat}
query {
s2graph { 
User(id: 1) {
id
Friends(limit: 10, filter: "NOT (friend_name in 
('steamshon'))")
}
}
}
{noformat}

In this way, we don't need to implement not case for all predicates, such as 
`in`, `between`, `contains`, `eq`.




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (S2GRAPH-221) Unify configurations for bulk and mutate in S2GraphSink.

2018-06-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/S2GRAPH-221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16513234#comment-16513234
 ] 

ASF GitHub Bot commented on S2GRAPH-221:


GitHub user SteamShon opened a pull request:

https://github.com/apache/incubator-s2graph/pull/173

[S2GRAPH-221]: Unify configurations for bulk and mutate in S2GraphSink.

- cleanup configurations for S2Graph, S2GraphSink, S2GraphSource.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/SteamShon/incubator-s2graph S2GRAPH-221

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-s2graph/pull/173.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #173


commit e42f7b22f26c7d725f9a33ff6badd7942768e478
Author: DO YUNG YOON 
Date:   2018-06-14T10:20:51Z

initial commit.

commit f90a7f54401f67130360ca711a3378a726aeac4b
Author: DO YUNG YOON 
Date:   2018-06-14T20:04:35Z

test cases passed.

commit da668ace749adf243d43c95413b460bba218731d
Author: DO YUNG YOON 
Date:   2018-06-15T01:09:53Z

commit missing changes on s2core.




> Unify configurations for bulk and mutate in S2GraphSink.
> 
>
> Key: S2GRAPH-221
> URL: https://issues.apache.org/jira/browse/S2GRAPH-221
> Project: S2Graph
>  Issue Type: Improvement
>  Components: s2jobs
>Reporter: DOYUNG YOON
>Assignee: DOYUNG YOON
>Priority: Minor
>
> Currently, S2GraphSink in s2jobs provide two way to sink data from spark into 
> S2Graph.
> 1. mutate: open S2Graph per each executor, then call mutateElements method. 
> 2. bulk: run spark job to build HFile and run loadIncrementalHFiles.
> It is hard to followup options for these two different method, since mutate 
> options are defined in org.apache.s2graph.spark.sql.streaming.S2SinkConfigs, 
> and bulkload options are defined in 
> org.apache.s2graph.s2jobs.load.GraphFileOptions.
> I suggest placing all configurations under in one place so it would be easy 
> to maintain them.
> Also, many options for bulk can be removed.
> One example is dbUrl options, which is same as "db.default.url" and zkQuorum, 
> which is same as "hbase.zookeeper.quorum".



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (S2GRAPH-203) Support "application/graphql" Content-Type header

2018-06-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/S2GRAPH-203?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16512212#comment-16512212
 ] 

ASF GitHub Bot commented on S2GRAPH-203:


GitHub user daewon opened a pull request:

https://github.com/apache/incubator-s2graph/pull/172

[S2GRAPH-203] Support "application/graphql" Content-Type header

I added the ability to allow the GraphQL server to interpret the 
`application/graphql` content-type. 
no longer need to escape the `graphql query string` to a `json string`

example)

```bash
curl --request POST \   

  --url http://localhost:8000/graphql \
  --header 'content-type: application/graphql' \
  --data 'query Welcome {
  kakao {
user(id: "daewon") {
  id
}
  }
}'
```

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/daewon/incubator-s2graph S2GRAPH-203

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-s2graph/pull/172.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #172


commit 23a22775173b1e5d71124fdddcda7c96d8fb4927
Author: daewon 
Date:   2018-06-14T09:08:42Z

add content-type: application/graphql




> Support "application/graphql" Content-Type header
> -
>
> Key: S2GRAPH-203
> URL: https://issues.apache.org/jira/browse/S2GRAPH-203
> Project: S2Graph
>  Issue Type: Improvement
>  Components: s2graphql
>Reporter: Chul Kang
>Assignee: Daewon Jeong
>Priority: Minor
>
> When sending a post request with GraphQL with "application/json" 
> Content-Type, it needs to escape GraphQL to string.
> I think if we support the "application/graphql" Conetent-Type, we could use 
> GraphQL without escaping.
> http://graphql.org/learn/serving-over-http/#post-request



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (S2GRAPH-220) Filter clause is not working on AnnoyModelFetcher

2018-06-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/S2GRAPH-220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16512211#comment-16512211
 ] 

ASF GitHub Bot commented on S2GRAPH-220:


GitHub user SteamShon opened a pull request:

https://github.com/apache/incubator-s2graph/pull/171

[S2GRAPH-220]: Filter clause is not working on AnnoyModelFetcher

- Extract Where and EdgeTransformer to TraversalHelper.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/SteamShon/incubator-s2graph S2GRAPH-220

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-s2graph/pull/171.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #171


commit 3355701f00b34d5e1609e8424d09b50e8211e87a
Author: DO YUNG YOON 
Date:   2018-06-14T09:14:22Z

Extract Where and EdgeTransformer to TraversalHelper.




> Filter clause is not working on AnnoyModelFetcher
> -
>
> Key: S2GRAPH-220
> URL: https://issues.apache.org/jira/browse/S2GRAPH-220
> Project: S2Graph
>  Issue Type: Bug
>  Components: s2core, s2graphql
>Reporter: DOYUNG YOON
>Assignee: DOYUNG YOON
>Priority: Minor
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> Below query should filter all edges that have property 'score' smaller than 
> 0.1 but current implementation return edges with larger score property value 
> than 0.1.
> {noformat}
> {
>   s2graph {
> user(id: 0) {
>   friends(limit: 10, filter: "score < 0.1") {
> user {
>   id
> }
>   }
> }
>   }
> }
> {noformat}
> After a look through the current master, I found out Where parser and 
> EdgeTransformer are processed on AsynchbaseEdgeFetcher and RocksEdgeFetcher 
> by calling StorageIO.toEdges method, but this is missing on AnnoyModelFetcher.
> I suggest to extract `Where` and `EdgeTransformer` from StorageIO.toEdges to 
> helper so other Fetcher implementation can easily use this helper to apply 
> them correctly.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Assigned] (S2GRAPH-221) Unify configurations for bulk and mutate in S2GraphSink.

2018-06-14 Thread DOYUNG YOON (JIRA)


 [ 
https://issues.apache.org/jira/browse/S2GRAPH-221?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

DOYUNG YOON reassigned S2GRAPH-221:
---

Assignee: DOYUNG YOON

> Unify configurations for bulk and mutate in S2GraphSink.
> 
>
> Key: S2GRAPH-221
> URL: https://issues.apache.org/jira/browse/S2GRAPH-221
> Project: S2Graph
>  Issue Type: Improvement
>  Components: s2jobs
>Reporter: DOYUNG YOON
>Assignee: DOYUNG YOON
>Priority: Minor
>
> Currently, S2GraphSink in s2jobs provide two way to sink data from spark into 
> S2Graph.
> 1. mutate: open S2Graph per each executor, then call mutateElements method. 
> 2. bulk: run spark job to build HFile and run loadIncrementalHFiles.
> It is hard to followup options for these two different method, since mutate 
> options are defined in org.apache.s2graph.spark.sql.streaming.S2SinkConfigs, 
> and bulkload options are defined in 
> org.apache.s2graph.s2jobs.load.GraphFileOptions.
> I suggest placing all configurations under in one place so it would be easy 
> to maintain them.
> Also, many options for bulk can be removed.
> One example is dbUrl options, which is same as "db.default.url" and zkQuorum, 
> which is same as "hbase.zookeeper.quorum".



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (S2GRAPH-221) Unify configurations for bulk and mutate in S2GraphSink.

2018-06-14 Thread DOYUNG YOON (JIRA)
DOYUNG YOON created S2GRAPH-221:
---

 Summary: Unify configurations for bulk and mutate in S2GraphSink.
 Key: S2GRAPH-221
 URL: https://issues.apache.org/jira/browse/S2GRAPH-221
 Project: S2Graph
  Issue Type: Improvement
  Components: s2jobs
Reporter: DOYUNG YOON


Currently, S2GraphSink in s2jobs provide two way to sink data from spark into 
S2Graph.

1. mutate: open S2Graph per each executor, then call mutateElements method. 
2. bulk: run spark job to build HFile and run loadIncrementalHFiles.

It is hard to followup options for these two different method, since mutate 
options are defined in org.apache.s2graph.spark.sql.streaming.S2SinkConfigs, 
and bulkload options are defined in 
org.apache.s2graph.s2jobs.load.GraphFileOptions.

I suggest placing all configurations under in one place so it would be easy to 
maintain them.

Also, many options for bulk can be removed.

One example is dbUrl options, which is same as "db.default.url" and zkQuorum, 
which is same as "hbase.zookeeper.quorum".



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)