Modeling SQL Table Schema with Map-References

2019-05-20 Thread Marko Rodriguez
Hi,

This is mainly for Josh/Kuppitz/Mallette, but others might find it interesting.

// a map-reference demonstrating how various RDBMS table features are captured 
via key/value ?patterns and reference instructions.
// created a new concept called self* which is just a pointer to the current 
reference (like "this" in java).
// you can see that an instruction pattern match on some of these hardcore 
operations simply returns self
// and thus, are just no-ops. however, these noops tell you the nature of the 
table definition.

{ name:?string, age:?int . |// table columns and 
their datatypes
  [count]:20,   // table size   
  [order,age,desc,name,asc]:self*,  // table rows have a 
sort order
  [dedup,[[valueMap,name,age]]]:self*,  // name and age are the 
primary key
  [has,name,eq,?string]:{name:?string,age:?int}*,   // table has an index 
on name
  [identity]:self* }*   // just showing how 
identity is a no-op


CREATE TABLE people (
  name varchar(255),
  age int,
  PRIMARY KEY (name,age)
)
CREATE INDEX people_name_idx ON people (name)



*** If the formatting sucks: 
https://gist.github.com/okram/41d2d40214a9411b0e69cc972ad9cb61 


I don’t know how to force a sort on a table, so the [order] instruction isn’t 
being used in the CREATE TABLE. However, in general, this is how RDBMS tables 
and TP4 map-references are related.

Neat?,
Marko.

http://rredux.com 






[jira] [Commented] (TINKERPOP-2220) Dedup inside Repeat Produces 0 results

2019-05-20 Thread Daniel Choi (JIRA)


[ 
https://issues.apache.org/jira/browse/TINKERPOP-2220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16844377#comment-16844377
 ] 

Daniel Choi commented on TINKERPOP-2220:


True.  Ok perhaps dedup not being scoped to each iteration is not a problem, as 
you point out you can simulate that by taking (depth, vertex) as the dedup key.

> Dedup inside Repeat Produces 0 results
> --
>
> Key: TINKERPOP-2220
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2220
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.3.0
>Reporter: Rahul Chander
>Priority: Major
>
> Testing against the Tinkerpop Modern graph dataset, I ran this query:
> {code:java}
> g.V().repeat(__.dedup()).times(2).count()
> {code}
> which should essentially be the same as running dedup twice. It produced 0 
> results, while dedup twice produced the correct 6.
>  
>  
>  



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


[jira] [Commented] (TINKERPOP-2220) Dedup inside Repeat Produces 0 results

2019-05-20 Thread Daniel Kuppitz (JIRA)


[ 
https://issues.apache.org/jira/browse/TINKERPOP-2220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16844368#comment-16844368
 ] 

Daniel Kuppitz commented on TINKERPOP-2220:
---

{quote}we'd be processing *v[6]* twice at _depth=3_, only to later dedup the 
duplicate pairs created from the double traversal{quote}

You are saying that you want to deduplicate the pair, but in your query, you 
deduplicate the vertex.

{code}
// what you want
g.V(1).repeat(identity().as("incoming").project("d","v").by(loops()).by(identity()).dedup().aggregate("pairs").select("incoming").out()).cap("pairs")
 // what you bring up as a non-working example
g.V(1).repeat(identity().as("incoming").project("d","v").by(loops()).by(identity()).aggregate("pairs").select("incoming").out().dedup()).cap("pairs")
{code}

> Dedup inside Repeat Produces 0 results
> --
>
> Key: TINKERPOP-2220
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2220
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.3.0
>Reporter: Rahul Chander
>Priority: Major
>
> Testing against the Tinkerpop Modern graph dataset, I ran this query:
> {code:java}
> g.V().repeat(__.dedup()).times(2).count()
> {code}
> which should essentially be the same as running dedup twice. It produced 0 
> results, while dedup twice produced the correct 6.
>  
>  
>  



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


[jira] [Commented] (TINKERPOP-2220) Dedup inside Repeat Produces 0 results

2019-05-20 Thread Daniel Choi (JIRA)


[ 
https://issues.apache.org/jira/browse/TINKERPOP-2220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16844240#comment-16844240
 ] 

Daniel Choi commented on TINKERPOP-2220:


Just realized unrolling doesn't achieve the same outcome as above either; it's 
almost like we need a local dedup() per iteration (assuming BFS traversal 
order).  Perhaps another corroborating point to making a dedicated graph search 
step instead of trying to use repeat for this kinds of things.

> Dedup inside Repeat Produces 0 results
> --
>
> Key: TINKERPOP-2220
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2220
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.3.0
>Reporter: Rahul Chander
>Priority: Major
>
> Testing against the Tinkerpop Modern graph dataset, I ran this query:
> {code:java}
> g.V().repeat(__.dedup()).times(2).count()
> {code}
> which should essentially be the same as running dedup twice. It produced 0 
> results, while dedup twice produced the correct 6.
>  
>  
>  



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


[jira] [Commented] (TINKERPOP-2220) Dedup inside Repeat Produces 0 results

2019-05-20 Thread Daniel Choi (JIRA)


[ 
https://issues.apache.org/jira/browse/TINKERPOP-2220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16844203#comment-16844203
 ] 

Daniel Choi commented on TINKERPOP-2220:


Yes if you define that's how dedup() should work inside a repeat(), then that 
is the correct behavior.  And I don't deny it's useful to have it behave this 
way.  I was just pointing out that it didn't seem to be consistent with how 
repeat works in general (repeat the inner traversal verbatim as if unrolled), 
but perhaps I'm introducing my own bias here in terms of how repeat should work.

As a counter point, imagine you wanted to do a BFS traversal starting from a 
node to all sink nodes, and wanted to print out all distinct nodes at each 
frontier depth.  In other words, all pairs (d, v), where d=depth and v=vertex. 

 
{code:java}
gremlin> 
g.V(1).repeat(identity().as("incoming").project("d","v").by(loops()).by(identity()).aggregate("pairs").select("incoming").out()).cap("pairs")
==>[[d:0,v:v[1]],[d:1,v:v[3]],[d:1,v:v[2]],[d:1,v:v[4]],[d:2,v:v[5]],[d:2,v:v[3]]{code}
Now with dedup:

 

 
{code:java}
gremlin> 
g.V(1).repeat(identity().as("incoming").project("d","v").by(loops()).by(identity()).aggregate("pairs").select("incoming").out().dedup()).cap("pairs")
==>[[d:0,v:v[1]],[d:1,v:v[3]],[d:1,v:v[2]],[d:1,v:v[4]],[d:2,v:v[5]]]
{code}
 

 

Notice how pair *[d:2, v:v[3]]* is gone in the dedup version, even though this 
is the first time it's appearing in _depth=2_.  You could argue you could 
instead do the repeat traversals without any dedup, then later dedup all the 
aggregated pairs.  But then you're introducing more unnecessary computations at 
each depth, for example if ***v[5]* and *v[3]* both had edges going out to 
*v[6]*, we'd be processing *v[6]* twice at _depth=3_, only to later dedup the 
duplicate pairs created from the double traversal.  The problem gets worse as 
your traversal tree deepens.**

> Dedup inside Repeat Produces 0 results
> --
>
> Key: TINKERPOP-2220
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2220
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.3.0
>Reporter: Rahul Chander
>Priority: Major
>
> Testing against the Tinkerpop Modern graph dataset, I ran this query:
> {code:java}
> g.V().repeat(__.dedup()).times(2).count()
> {code}
> which should essentially be the same as running dedup twice. It produced 0 
> results, while dedup twice produced the correct 6.
>  
>  
>  



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


[jira] [Closed] (TINKERPOP-2216) Consider adding conventional status attribute key for warnings

2019-05-20 Thread stephen mallette (JIRA)


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

stephen mallette closed TINKERPOP-2216.
---
   Resolution: Done
 Assignee: stephen mallette
Fix Version/s: 3.4.2

> Consider adding conventional status attribute key for warnings
> --
>
> Key: TINKERPOP-2216
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2216
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: console, server
>Affects Versions: 3.4.2
>Reporter: Dan LaRocque
>Assignee: stephen mallette
>Priority: Minor
> Fix For: 3.4.2
>
>
> [Status 
> attributes|http://tinkerpop.apache.org/docs/3.4.1/upgrade/#_status_attributes]
>  let server-side graph providers send arbitrary metadata alongside graph 
> resultsets.  The client can either ignore attributes or check for them.
> A remote graph implementation might want to send warning information back to 
> the client along with a resultset.  Maybe a traversal executed successfully, 
> but it contained some kind of implementation-specific antipattern that 
> justifies a warning.
> For instance, {{Tokens}} defines {{STATUS_ATTRIBUTE_EXCEPTIONS}} and 
> {{STATUS_ATTRIBUTE_STACK_TRACE}}.  Perhaps we could add a new 
> {{STATUS_ATTRIBUTE_WARNINGS}} alongside those two.  The console's 
> {{DriverRemoteAcceptor}} could check for this key when processing each result 
> set, printing the associated value (when an entry is present).
> I've already done this on the 3.4.x line.  I don't know whether this is 
> something TinkerPop would want, or whether it should remain in 
> vendor-specific extensions, or if there is some other approach that might fit 
> better; but I'll open a PR with what I've been using.



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


[jira] [Commented] (TINKERPOP-2216) Consider adding conventional status attribute key for warnings

2019-05-20 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/TINKERPOP-2216?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16843954#comment-16843954
 ] 

ASF GitHub Bot commented on TINKERPOP-2216:
---

spmallette commented on pull request #1113: TINKERPOP-2216 add status attribute 
for warnings
URL: https://github.com/apache/tinkerpop/pull/1113
 
 
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Consider adding conventional status attribute key for warnings
> --
>
> Key: TINKERPOP-2216
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2216
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: console, server
>Affects Versions: 3.4.2
>Reporter: Dan LaRocque
>Priority: Minor
>
> [Status 
> attributes|http://tinkerpop.apache.org/docs/3.4.1/upgrade/#_status_attributes]
>  let server-side graph providers send arbitrary metadata alongside graph 
> resultsets.  The client can either ignore attributes or check for them.
> A remote graph implementation might want to send warning information back to 
> the client along with a resultset.  Maybe a traversal executed successfully, 
> but it contained some kind of implementation-specific antipattern that 
> justifies a warning.
> For instance, {{Tokens}} defines {{STATUS_ATTRIBUTE_EXCEPTIONS}} and 
> {{STATUS_ATTRIBUTE_STACK_TRACE}}.  Perhaps we could add a new 
> {{STATUS_ATTRIBUTE_WARNINGS}} alongside those two.  The console's 
> {{DriverRemoteAcceptor}} could check for this key when processing each result 
> set, printing the associated value (when an entry is present).
> I've already done this on the 3.4.x line.  I don't know whether this is 
> something TinkerPop would want, or whether it should remain in 
> vendor-specific extensions, or if there is some other approach that might fit 
> better; but I'll open a PR with what I've been using.



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


[jira] [Closed] (TINKERPOP-2219) Upgrade Netty version

2019-05-20 Thread stephen mallette (JIRA)


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

stephen mallette closed TINKERPOP-2219.
---
   Resolution: Fixed
 Assignee: stephen mallette
Fix Version/s: (was: 3.3.7)

> Upgrade Netty version
> -
>
> Key: TINKERPOP-2219
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2219
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: driver, server
>Affects Versions: 3.3.6, 3.4.1
>Reporter: Divij Vaidya
>Assignee: stephen mallette
>Priority: Minor
> Fix For: 3.4.2
>
>
> Please upgrade the Netty version for Tinkerpop. We are currently using a year 
> old version at 4.1.25-final.
> The new versions contain numerous bug fixes and improvements. 
> My recommendation is to move to at least a 6 month old version (since newer 
> version might be unstable and have bugs) 4.1.32-final



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


[jira] [Commented] (TINKERPOP-2219) Upgrade Netty version

2019-05-20 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/TINKERPOP-2219?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16843953#comment-16843953
 ] 

ASF GitHub Bot commented on TINKERPOP-2219:
---

spmallette commented on pull request #1116: TINKERPOP-2219 Upgrade Netty 
dependency to 4.1.32
URL: https://github.com/apache/tinkerpop/pull/1116
 
 
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Upgrade Netty version
> -
>
> Key: TINKERPOP-2219
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2219
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: driver, server
>Affects Versions: 3.3.6, 3.4.1
>Reporter: Divij Vaidya
>Priority: Minor
> Fix For: 3.3.7, 3.4.2
>
>
> Please upgrade the Netty version for Tinkerpop. We are currently using a year 
> old version at 4.1.25-final.
> The new versions contain numerous bug fixes and improvements. 
> My recommendation is to move to at least a 6 month old version (since newer 
> version might be unstable and have bugs) 4.1.32-final



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


[jira] [Comment Edited] (TINKERPOP-2076) Build with Java 11

2019-05-20 Thread stephen mallette (JIRA)


[ 
https://issues.apache.org/jira/browse/TINKERPOP-2076?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16843933#comment-16843933
 ] 

stephen mallette edited comment on TINKERPOP-2076 at 5/20/19 1:10 PM:
--

Need netty -4.1.36.Final- 4.1.25.Final for Java 11 support. That might kill out 
the {{tp33}} branch as a target for Java 11 support.

https://groups.google.com/d/msg/netty/P_rgGiAWn5k/vxuuR2S1BAAJ

In  my original reading of the above I thought that meant that 4.1.36.Final had 
Java 11 support when in fact the reply was meaning to use the latest version 
along the 4.1.x line.


was (Author: spmallette):
Need netty 4.1.36.Final for Java 11 support. That might kill out the {{tp33}} 
branch as a target for Java 11 support.

https://groups.google.com/d/msg/netty/P_rgGiAWn5k/vxuuR2S1BAAJ

> Build with Java 11
> --
>
> Key: TINKERPOP-2076
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2076
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: build-release
>Affects Versions: 3.3.4
> Environment: $ java --version 
> java 11 2018-09-25 
> Java(TM) SE Runtime Environment 18.9 (build 11+28) 
> Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11+28, mixed mode)
>Reporter: Steve Strassmann
>Assignee: stephen mallette
>Priority: Major
> Fix For: 3.5.0
>
>
> I cannot build TinkerPop with a current (v11) Java version.
> On the gremlin-users Google group, Robert Dale suggests using Java 8, but 
> that is deprecated. Recommended: support current Java versions. Stephen 
> Mallette says "we need to start worrying about such things."
> Oracle [says Java 8 is 
> deprecated|https://www.oracle.com/technetwork/java/javase/overview/index.html]:
> {quote}{color:#d04437}[End of Public Updates for Oracle JDK 
> 8|https://www.oracle.com/technetwork/java/javase/eol-135779.html]{color}
>  Oracle will not post further updates of Java SE 8 to its public download 
> sites for commercial use after January 2019.
> {quote}
>  
>  See issue posted in Gremlin-users Google Group: 
>  
> [https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!topic/gremlin-users/Kgnq4BkrZXQ]
> {{unable to build Tinkerpop from master with mvn clean install. }}
>   
>  The error appears to be
>     An API incompatibility was encountered while executing 
> org.apache.maven.plugins:maven-enforcer-plugin:1.4.1:enforce: 
> java.lang.ExceptionInInitializerError: null
> {code:java}
> $ git clone https://github.com/apache/tinkerpop.git 
> $ git checkout master  
> $ mvn --version
> Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 
> 2018-06-17T14:33:14-04:00)
> Maven home: /opt/maven
> Java version: 11, vendor: Oracle Corporation, runtime: 
> /Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home
> Default locale: en_US, platform encoding: UTF-8
> OS name: "mac os x", version: "10.13.6", arch: "x86_64", family: "mac"
> {code}
>  
>   
> {code:java}
> $ mvn clean install
> [INFO] Scanning for projects...
> [WARNING] The project org.apache.tinkerpop:tinkerpop:pom:3.4.0-SNAPSHOT uses 
> prerequisites which is only intended for maven-plugin projects but not for 
> non maven-plugin projects. For such purposes you should use the 
> maven-enforcer-plugin. See 
> https://maven.apache.org/enforcer/enforcer-rules/requireMavenVersion.html
> [INFO] 
> 
> [INFO] Reactor Build Order:
> [INFO] 
> [INFO] Apache TinkerPop                                                   
> [pom]
> [INFO] Apache TinkerPop :: Gremlin Shaded                                 
> [jar]
> [INFO] Apache TinkerPop :: Gremlin Core                                   
> [jar]
> [INFO] Apache TinkerPop :: Gremlin Test                                   
> [jar]
> [INFO] Apache TinkerPop :: TinkerGraph Gremlin                            
> [jar]
> [INFO] Apache TinkerPop :: Gremlin Groovy                                 
> [jar]
> [INFO] Apache TinkerPop :: Gremlin Driver                                 
> [jar]
> [INFO] Apache TinkerPop :: Neo4j Gremlin                                  
> [jar]
> [INFO] Apache TinkerPop :: Gremlin Server                                 
> [jar]
> [INFO] Apache TinkerPop :: Gremlin Javascript                             
> [jar]
> [INFO] Apache TinkerPop :: Gremlin Python                                 
> [jar]
> [INFO] Apache TinkerPop :: Gremlin.Net                                    
> [pom]
> [INFO] Apache TinkerPop :: Gremlin.Net - Source                           
> [pom]
> [INFO] Apache TinkerPop :: Gremlin.Net - Tests                            
> [pom]
> [INFO] Apache TinkerPop :: Hadoop Gremlin                                 
> [jar]
> [INFO] Apache TinkerPop :: Spark Gremlin                                  
>

[jira] [Comment Edited] (TINKERPOP-2076) Build with Java 11

2019-05-20 Thread stephen mallette (JIRA)


[ 
https://issues.apache.org/jira/browse/TINKERPOP-2076?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16843933#comment-16843933
 ] 

stephen mallette edited comment on TINKERPOP-2076 at 5/20/19 12:50 PM:
---

Need netty 4.1.36.Final for Java 11 support. That might kill out the {{tp33}} 
branch as a target for Java 11 support.

https://groups.google.com/d/msg/netty/P_rgGiAWn5k/vxuuR2S1BAAJ


was (Author: spmallette):
Need netty 4.1.36.Final for Java 11 support. That might kill out the {{tp33}} 
branch as a target for Java 11 support.

> Build with Java 11
> --
>
> Key: TINKERPOP-2076
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2076
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: build-release
>Affects Versions: 3.3.4
> Environment: $ java --version 
> java 11 2018-09-25 
> Java(TM) SE Runtime Environment 18.9 (build 11+28) 
> Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11+28, mixed mode)
>Reporter: Steve Strassmann
>Assignee: stephen mallette
>Priority: Major
> Fix For: 3.5.0
>
>
> I cannot build TinkerPop with a current (v11) Java version.
> On the gremlin-users Google group, Robert Dale suggests using Java 8, but 
> that is deprecated. Recommended: support current Java versions. Stephen 
> Mallette says "we need to start worrying about such things."
> Oracle [says Java 8 is 
> deprecated|https://www.oracle.com/technetwork/java/javase/overview/index.html]:
> {quote}{color:#d04437}[End of Public Updates for Oracle JDK 
> 8|https://www.oracle.com/technetwork/java/javase/eol-135779.html]{color}
>  Oracle will not post further updates of Java SE 8 to its public download 
> sites for commercial use after January 2019.
> {quote}
>  
>  See issue posted in Gremlin-users Google Group: 
>  
> [https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!topic/gremlin-users/Kgnq4BkrZXQ]
> {{unable to build Tinkerpop from master with mvn clean install. }}
>   
>  The error appears to be
>     An API incompatibility was encountered while executing 
> org.apache.maven.plugins:maven-enforcer-plugin:1.4.1:enforce: 
> java.lang.ExceptionInInitializerError: null
> {code:java}
> $ git clone https://github.com/apache/tinkerpop.git 
> $ git checkout master  
> $ mvn --version
> Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 
> 2018-06-17T14:33:14-04:00)
> Maven home: /opt/maven
> Java version: 11, vendor: Oracle Corporation, runtime: 
> /Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home
> Default locale: en_US, platform encoding: UTF-8
> OS name: "mac os x", version: "10.13.6", arch: "x86_64", family: "mac"
> {code}
>  
>   
> {code:java}
> $ mvn clean install
> [INFO] Scanning for projects...
> [WARNING] The project org.apache.tinkerpop:tinkerpop:pom:3.4.0-SNAPSHOT uses 
> prerequisites which is only intended for maven-plugin projects but not for 
> non maven-plugin projects. For such purposes you should use the 
> maven-enforcer-plugin. See 
> https://maven.apache.org/enforcer/enforcer-rules/requireMavenVersion.html
> [INFO] 
> 
> [INFO] Reactor Build Order:
> [INFO] 
> [INFO] Apache TinkerPop                                                   
> [pom]
> [INFO] Apache TinkerPop :: Gremlin Shaded                                 
> [jar]
> [INFO] Apache TinkerPop :: Gremlin Core                                   
> [jar]
> [INFO] Apache TinkerPop :: Gremlin Test                                   
> [jar]
> [INFO] Apache TinkerPop :: TinkerGraph Gremlin                            
> [jar]
> [INFO] Apache TinkerPop :: Gremlin Groovy                                 
> [jar]
> [INFO] Apache TinkerPop :: Gremlin Driver                                 
> [jar]
> [INFO] Apache TinkerPop :: Neo4j Gremlin                                  
> [jar]
> [INFO] Apache TinkerPop :: Gremlin Server                                 
> [jar]
> [INFO] Apache TinkerPop :: Gremlin Javascript                             
> [jar]
> [INFO] Apache TinkerPop :: Gremlin Python                                 
> [jar]
> [INFO] Apache TinkerPop :: Gremlin.Net                                    
> [pom]
> [INFO] Apache TinkerPop :: Gremlin.Net - Source                           
> [pom]
> [INFO] Apache TinkerPop :: Gremlin.Net - Tests                            
> [pom]
> [INFO] Apache TinkerPop :: Hadoop Gremlin                                 
> [jar]
> [INFO] Apache TinkerPop :: Spark Gremlin                                  
> [jar]
> [INFO] Apache TinkerPop :: SPARQL Gremlin                                 
> [jar]
> [INFO] Apache TinkerPop :: Gremlin Console                                
> [jar]
> [INFO] Apache TinkerPop :: Gremlin Archetype                              
> [po

[jira] [Commented] (TINKERPOP-2076) Build with Java 11

2019-05-20 Thread stephen mallette (JIRA)


[ 
https://issues.apache.org/jira/browse/TINKERPOP-2076?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16843933#comment-16843933
 ] 

stephen mallette commented on TINKERPOP-2076:
-

Need netty 4.1.36.Final for Java 11 support. That might kill out the {{tp33}} 
branch as a target for Java 11 support.

> Build with Java 11
> --
>
> Key: TINKERPOP-2076
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2076
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: build-release
>Affects Versions: 3.3.4
> Environment: $ java --version 
> java 11 2018-09-25 
> Java(TM) SE Runtime Environment 18.9 (build 11+28) 
> Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11+28, mixed mode)
>Reporter: Steve Strassmann
>Assignee: stephen mallette
>Priority: Major
> Fix For: 3.5.0
>
>
> I cannot build TinkerPop with a current (v11) Java version.
> On the gremlin-users Google group, Robert Dale suggests using Java 8, but 
> that is deprecated. Recommended: support current Java versions. Stephen 
> Mallette says "we need to start worrying about such things."
> Oracle [says Java 8 is 
> deprecated|https://www.oracle.com/technetwork/java/javase/overview/index.html]:
> {quote}{color:#d04437}[End of Public Updates for Oracle JDK 
> 8|https://www.oracle.com/technetwork/java/javase/eol-135779.html]{color}
>  Oracle will not post further updates of Java SE 8 to its public download 
> sites for commercial use after January 2019.
> {quote}
>  
>  See issue posted in Gremlin-users Google Group: 
>  
> [https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!topic/gremlin-users/Kgnq4BkrZXQ]
> {{unable to build Tinkerpop from master with mvn clean install. }}
>   
>  The error appears to be
>     An API incompatibility was encountered while executing 
> org.apache.maven.plugins:maven-enforcer-plugin:1.4.1:enforce: 
> java.lang.ExceptionInInitializerError: null
> {code:java}
> $ git clone https://github.com/apache/tinkerpop.git 
> $ git checkout master  
> $ mvn --version
> Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 
> 2018-06-17T14:33:14-04:00)
> Maven home: /opt/maven
> Java version: 11, vendor: Oracle Corporation, runtime: 
> /Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home
> Default locale: en_US, platform encoding: UTF-8
> OS name: "mac os x", version: "10.13.6", arch: "x86_64", family: "mac"
> {code}
>  
>   
> {code:java}
> $ mvn clean install
> [INFO] Scanning for projects...
> [WARNING] The project org.apache.tinkerpop:tinkerpop:pom:3.4.0-SNAPSHOT uses 
> prerequisites which is only intended for maven-plugin projects but not for 
> non maven-plugin projects. For such purposes you should use the 
> maven-enforcer-plugin. See 
> https://maven.apache.org/enforcer/enforcer-rules/requireMavenVersion.html
> [INFO] 
> 
> [INFO] Reactor Build Order:
> [INFO] 
> [INFO] Apache TinkerPop                                                   
> [pom]
> [INFO] Apache TinkerPop :: Gremlin Shaded                                 
> [jar]
> [INFO] Apache TinkerPop :: Gremlin Core                                   
> [jar]
> [INFO] Apache TinkerPop :: Gremlin Test                                   
> [jar]
> [INFO] Apache TinkerPop :: TinkerGraph Gremlin                            
> [jar]
> [INFO] Apache TinkerPop :: Gremlin Groovy                                 
> [jar]
> [INFO] Apache TinkerPop :: Gremlin Driver                                 
> [jar]
> [INFO] Apache TinkerPop :: Neo4j Gremlin                                  
> [jar]
> [INFO] Apache TinkerPop :: Gremlin Server                                 
> [jar]
> [INFO] Apache TinkerPop :: Gremlin Javascript                             
> [jar]
> [INFO] Apache TinkerPop :: Gremlin Python                                 
> [jar]
> [INFO] Apache TinkerPop :: Gremlin.Net                                    
> [pom]
> [INFO] Apache TinkerPop :: Gremlin.Net - Source                           
> [pom]
> [INFO] Apache TinkerPop :: Gremlin.Net - Tests                            
> [pom]
> [INFO] Apache TinkerPop :: Hadoop Gremlin                                 
> [jar]
> [INFO] Apache TinkerPop :: Spark Gremlin                                  
> [jar]
> [INFO] Apache TinkerPop :: SPARQL Gremlin                                 
> [jar]
> [INFO] Apache TinkerPop :: Gremlin Console                                
> [jar]
> [INFO] Apache TinkerPop :: Gremlin Archetype                              
> [pom]
> [INFO] Apache TinkerPop :: Archetype - TinkerGraph                        
> [jar]
> [INFO] Apache TinkerPop :: Archetype - Server                             
> [jar]
> [INFO] Apache TinkerPop :: Archetype - DSL                                
> [jar]
> [I

[jira] [Closed] (TINKERPOP-2201) Gremlin-test failed while static type checking when use secure configuration

2019-05-20 Thread stephen mallette (JIRA)


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

stephen mallette closed TINKERPOP-2201.
---
   Resolution: Won't Fix
 Assignee: (was: stephen mallette)
Fix Version/s: (was: 3.4.2)

See TINKERPOP- for a restatement of this issue and how it will be resolved. 
Note that changes originally merged for this issue have been reverted here:

https://github.com/apache/tinkerpop/commit/1d7ffd0e3d2b3bc12ba5c0a21a7883f987ef5106

per discussion on: 

https://github.com/apache/tinkerpop/pull/1117

> Gremlin-test failed while static type checking when use secure configuration
> 
>
> Key: TINKERPOP-2201
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2201
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.4.1
>Reporter: selfish finch
>Priority: Minor
>
> Reproduce:
>  1. Run Gremlin Server with `gremlin-server-secure.yaml` which use 
> SimpleSandboxExtension for security
>  2. Run Gremlin-test to verify the behavior
>  
> Among the other similar errors, take 
> `*g_addV_asXfirstX_repeatXaddEXnextX_toXaddVX_inVX_timesX5X_addEXnextX_toXselectXfirstXX*`
>  in `*features/map/AddEdge.feature*` as an example:
> {code:java}
> features/map/AddEdge.feature: 
> g_addV_asXfirstX_repeatXaddEXnextX_toXaddVX_inVX_timesX5X_addEXnextX_toXselectXfirstXX
> And the traversal of
>   GremlinServerError: 597: startup failed:
> Script5.groovy: 1: [Static type checking] - Cannot call 
> org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal 
>  org.apache.tinkerpop.gremlin.structure.Edge>#to(org.apache.tinkerpop.gremlin.process.traversal.Traversal
>   org.apache.tinkerpop.gremlin.structure.Vertex>) with arguments 
> [org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal  extends java.lang.Object, B extends java.lang.Object>]
>  @ line 1, column 1.
>
> g.addV().as("first").repeat(__.addE("next").to(__.addV()).inV()).times(5).addE("next").to(__.select("first"))
>^
> 1 error
> {code}
> In my knowledge, the reason is that static type checking will verify the 
> class type of parameter, and the definition in `GraphTraversal` seems too 
> strict for `SimpleSandboxExtension`.
> As I changed the method definition:
> {code:bash}
> -public default GraphTraversal to(final Traversal 
> toVertex) {
> +public default GraphTraversal to(final Traversal toVertex) {
> {code}
> The mentioned case passed.
>  



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


[jira] [Closed] (TINKERPOP-2221) Gremlin-test failed while static type checking when use secure configuration, more cases than TINKERPOP-2201

2019-05-20 Thread stephen mallette (JIRA)


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

stephen mallette closed TINKERPOP-2221.
---
Resolution: Won't Fix

See TINKERPOP- for a restatement of this issue and how it will be resolved

> Gremlin-test failed while static type checking when use secure configuration, 
> more cases than TINKERPOP-2201
> 
>
> Key: TINKERPOP-2221
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2221
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.4.1
>Reporter: selfish finch
>Priority: Minor
>
> Same issue as described in 
> [TINKERPOP-2201|https://issues.apache.org/jira/projects/TINKERPOP/issues/TINKERPOP-2201?filter=allissues],
>  fix more scenarios encountered when run gremlin-test. The related pull 
> request will be created linked with this issue. After that, all tests inside 
> gremlin-test should not fail cause by 'static type checking'.



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


[jira] [Reopened] (TINKERPOP-2201) Gremlin-test failed while static type checking when use secure configuration

2019-05-20 Thread stephen mallette (JIRA)


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

stephen mallette reopened TINKERPOP-2201:
-

> Gremlin-test failed while static type checking when use secure configuration
> 
>
> Key: TINKERPOP-2201
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2201
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.4.1
>Reporter: selfish finch
>Assignee: stephen mallette
>Priority: Minor
> Fix For: 3.4.2
>
>
> Reproduce:
>  1. Run Gremlin Server with `gremlin-server-secure.yaml` which use 
> SimpleSandboxExtension for security
>  2. Run Gremlin-test to verify the behavior
>  
> Among the other similar errors, take 
> `*g_addV_asXfirstX_repeatXaddEXnextX_toXaddVX_inVX_timesX5X_addEXnextX_toXselectXfirstXX*`
>  in `*features/map/AddEdge.feature*` as an example:
> {code:java}
> features/map/AddEdge.feature: 
> g_addV_asXfirstX_repeatXaddEXnextX_toXaddVX_inVX_timesX5X_addEXnextX_toXselectXfirstXX
> And the traversal of
>   GremlinServerError: 597: startup failed:
> Script5.groovy: 1: [Static type checking] - Cannot call 
> org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal 
>  org.apache.tinkerpop.gremlin.structure.Edge>#to(org.apache.tinkerpop.gremlin.process.traversal.Traversal
>   org.apache.tinkerpop.gremlin.structure.Vertex>) with arguments 
> [org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal  extends java.lang.Object, B extends java.lang.Object>]
>  @ line 1, column 1.
>
> g.addV().as("first").repeat(__.addE("next").to(__.addV()).inV()).times(5).addE("next").to(__.select("first"))
>^
> 1 error
> {code}
> In my knowledge, the reason is that static type checking will verify the 
> class type of parameter, and the definition in `GraphTraversal` seems too 
> strict for `SimpleSandboxExtension`.
> As I changed the method definition:
> {code:bash}
> -public default GraphTraversal to(final Traversal 
> toVertex) {
> +public default GraphTraversal to(final Traversal toVertex) {
> {code}
> The mentioned case passed.
>  



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


[jira] [Commented] (TINKERPOP-2222) Improve sandbox to avoid GraphTraversal casts

2019-05-20 Thread stephen mallette (JIRA)


[ 
https://issues.apache.org/jira/browse/TINKERPOP-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16843915#comment-16843915
 ] 

stephen mallette commented on TINKERPOP-:
-

I'm not sure what should be done to improve this. It's been a while since I've 
worked with sandboxing. I originally built it with the idea that it was a 
reference implementation that could be improved by users or possibly graph 
providers. There are already graph providers who have done just that actually, 
so I'm not sure how much more advanced we should make this feature, but I'm 
also not against the idea of improvements if they are contributed.

> Improve sandbox to avoid GraphTraversal casts
> -
>
> Key: TINKERPOP-
> URL: https://issues.apache.org/jira/browse/TINKERPOP-
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: server
>Affects Versions: 3.3.6
>Reporter: stephen mallette
>Priority: Minor
>
> We have the unfortunate situation where sandboxing makes writing Gremlin a 
> bit ugly at times:
> {code}
> gremlin> :> 
> g.V().has('person','name','marko').as('m').constant('x').as('l').addE(select('l')).from(select('m')).to('m')
> Script8.groovy: 1: [Static type checking] - Cannot call 
> org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal 
>  java.lang.String>#addE(org.apache.tinkerpop.gremlin.process.traversal.Traversal
>  ) with 
> arguments 
> [org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal  extends java.lang.Object, B extends java.lang.Object>] 
>  @ line 1, column 1.
>
> g.V().has('person','name','marko').as('m').constant('x').as('l').addE(select('l')).from(select('m')).to('m')
>^
> 1 error
> Type ':help' or ':h' for help.
> Display stack trace? [yN]n
> gremlin> :> 
> g.V().has('person','name','marko').as('m').constant('x').as('l').addE((GraphTraversal)select('l')).from(select('m')).to('m')
> ==>e[3][0-x->0]
> {code}
> The inclusion of type checking forces casts like the one shown above which is 
> a bit of an inconvenience. Would be nice if that explicit casting could be 
> avoided at least when dealing with a {{GraphTraversal}} object.



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


[jira] [Created] (TINKERPOP-2222) Improve sandbox to avoid GraphTraversal casts

2019-05-20 Thread stephen mallette (JIRA)
stephen mallette created TINKERPOP-:
---

 Summary: Improve sandbox to avoid GraphTraversal casts
 Key: TINKERPOP-
 URL: https://issues.apache.org/jira/browse/TINKERPOP-
 Project: TinkerPop
  Issue Type: Improvement
  Components: server
Affects Versions: 3.3.6
Reporter: stephen mallette


We have the unfortunate situation where sandboxing makes writing Gremlin a bit 
ugly at times:

{code}
gremlin> :> 
g.V().has('person','name','marko').as('m').constant('x').as('l').addE(select('l')).from(select('m')).to('m')
Script8.groovy: 1: [Static type checking] - Cannot call 
org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal 
#addE(org.apache.tinkerpop.gremlin.process.traversal.Traversal 
) with arguments 
[org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal ] 
 @ line 1, column 1.
   
g.V().has('person','name','marko').as('m').constant('x').as('l').addE(select('l')).from(select('m')).to('m')
   ^

1 error
Type ':help' or ':h' for help.
Display stack trace? [yN]n
gremlin> :> 
g.V().has('person','name','marko').as('m').constant('x').as('l').addE((GraphTraversal)select('l')).from(select('m')).to('m')
==>e[3][0-x->0]
{code}

The inclusion of type checking forces casts like the one shown above which is a 
bit of an inconvenience. Would be nice if that explicit casting could be 
avoided at least when dealing with a {{GraphTraversal}} object.



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


[DISCUSS] code freeze 3.3.7/3.4.2

2019-05-20 Thread Stephen Mallette
Code freeze for the tp33 and master branches is currently in effect. We
only have a couple of PRs that need to be merged still:

https://github.com/apache/tinkerpop/pull/1113 (warning channel for Gremlin
Server)
https://github.com/apache/tinkerpop/pull/1116 (netty version bump)

Both seem easy enough to put in place. As usual, please use this thread to
bring up any release related issues. I'm can do both releases but if
someone else wants to jump in, feel free to speak up and and we can
coordinate.