Date   

janusgraph with HBase

Ajay Srivastava <Ajay.Sr...@...>
 

Hi,

Anyone is running janusgraph with Hbase ?
I am trying to create graph schema and getting error because of conflicting guava jars in janusgraph and Hbase.

scala -classpath /root/dev/External_jars/gremlin-core-3.2.5.jar:/root/dev/External_jars/gremlin-scala_2.11-3.2.4.12.jar:/root/dev/External_jars/shapeless_2.11-2.3.2.jar:/root/hbase-1.2.4/lib/*:/root/janusgraph-0.1.1-hadoop2/lib/* graphSchema.scala


java.lang.NoSuchMethodError: com.google.common.base.Stopwatch.createStarted()Lcom/google/common/base/Stopwatch;


Any idea, how can I resolve this problem ?


Regards,
Ajay


Re: Using ES for traversal queries ?

Daniel Kuppitz <me@...>
 

Only in the underlying storage backend.


Cheers,
Daniel


On Thu, Sep 21, 2017 at 7:57 AM, Suny <sahithiy...@...> wrote:
Thanks. Is the vertex-centric index not stored in Elastic search. Is it only in JG ? 

On Thursday, September 21, 2017 at 10:28:47 AM UTC-4, Daniel Kuppitz wrote:
Thanks, All the in edges will have same label. Does it still traverse through all edges or directly find the edges with empty timestamp ?

I assume that Janus can only leverage a vertex centric index, if you specify the label, since that was the case in Titan and I don't think I heard about any changes in this area.

So in cases where i need to do lot of traversal, ES is not helpful ?

Again, ES is helpful for the initial vertex lookup. Once you start to traverse through the graph, you can only rely on vertex centric indices (or a good model that doesn't require much filtering).

Also can you explain a bit more on OLAP query


Cheers,
Daniel


On Thu, Sep 21, 2017 at 7:07 AM, Suny <sahi...@...> wrote:
Thanks, All the in edges will have same label. Does it still traverse through all edges or directly find the edges with empty timestamp ?

So in cases where i need to do lot of traversal, ES is not helpful ?

Also can you explain a bit more on OLAP query

On Wednesday, September 20, 2017 at 2:35:27 PM UTC-4, Daniel Kuppitz wrote:
You should
  • provide an edge label for inE()
  • have a vertex centric index on timestamp
  • use a simple filter, instead of traversing back to the previous vertex (unless you rely on duplicates in your result)
Something like this:

g.V().has('type', textContains('car')).
  filter(inE('edge-label').has('timestamp','')).
  valueMap()

If you expect very large results, you'd be better off using an OLAP query.

Can I make JG to use ES for traversal too ?

ES is only useful for initial / global vertex lookups.

Cheers,
Daniel


On Wed, Sep 20, 2017 at 7:41 AM, Suny <sahi...@...> wrote:
Hi,

I am using JG with Cassandra and ES. 

I have a type attribute on all vertices based on which i can differentiate group of vertices. 

The query i want to do is

:> g.V().has('type',textContains('car')).inE().has('timestamp','').inV().valueMap()


I created an index on type attribute. If I just query for :> g.V().has('type',textContains('car')) it is coming back very fast with result. If I add the traversal part it is slowing down.


So, JG is using ES to retrieve the vertices of type 'car' and then for traversal it is using just JG. Can I make JG to use ES for traversal too ?


If i add index on edge attribute 'timestamp', does this fasten the query ?


Thanks





--
You received this message because you are subscribed to the Google Groups "JanusGraph users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgraph-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/5aeb2fdc-6199-45f4-8953-866118c2d81a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "JanusGraph users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgraph-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/94e4f5f4-8670-403d-9038-fd64382b61a5%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "JanusGraph users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgraph-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/e24480c8-52eb-4dd7-b511-b2722ad1bc2b%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


Re: Using ES for traversal queries ?

Suny <sahithiy...@...>
 

Thanks. Is the vertex-centric index not stored in Elastic search. Is it only in JG ? 


On Thursday, September 21, 2017 at 10:28:47 AM UTC-4, Daniel Kuppitz wrote:
Thanks, All the in edges will have same label. Does it still traverse through all edges or directly find the edges with empty timestamp ?

I assume that Janus can only leverage a vertex centric index, if you specify the label, since that was the case in Titan and I don't think I heard about any changes in this area.

So in cases where i need to do lot of traversal, ES is not helpful ?

Again, ES is helpful for the initial vertex lookup. Once you start to traverse through the graph, you can only rely on vertex centric indices (or a good model that doesn't require much filtering).

Also can you explain a bit more on OLAP query


Cheers,
Daniel


On Thu, Sep 21, 2017 at 7:07 AM, Suny <sahi...@...> wrote:
Thanks, All the in edges will have same label. Does it still traverse through all edges or directly find the edges with empty timestamp ?

So in cases where i need to do lot of traversal, ES is not helpful ?

Also can you explain a bit more on OLAP query

On Wednesday, September 20, 2017 at 2:35:27 PM UTC-4, Daniel Kuppitz wrote:
You should
  • provide an edge label for inE()
  • have a vertex centric index on timestamp
  • use a simple filter, instead of traversing back to the previous vertex (unless you rely on duplicates in your result)
Something like this:

g.V().has('type', textContains('car')).
  filter(inE('edge-label').has('timestamp','')).
  valueMap()

If you expect very large results, you'd be better off using an OLAP query.

Can I make JG to use ES for traversal too ?

ES is only useful for initial / global vertex lookups.

Cheers,
Daniel


On Wed, Sep 20, 2017 at 7:41 AM, Suny <sahi...@...> wrote:
Hi,

I am using JG with Cassandra and ES. 

I have a type attribute on all vertices based on which i can differentiate group of vertices. 

The query i want to do is

:> g.V().has('type',textContains('car')).inE().has('timestamp','').inV().valueMap()


I created an index on type attribute. If I just query for :> g.V().has('type',textContains('car')) it is coming back very fast with result. If I add the traversal part it is slowing down.


So, JG is using ES to retrieve the vertices of type 'car' and then for traversal it is using just JG. Can I make JG to use ES for traversal too ?


If i add index on edge attribute 'timestamp', does this fasten the query ?


Thanks





--
You received this message because you are subscribed to the Google Groups "JanusGraph users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgraph-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/5aeb2fdc-6199-45f4-8953-866118c2d81a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "JanusGraph users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgraph-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/94e4f5f4-8670-403d-9038-fd64382b61a5%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


Re: Using ES for traversal queries ?

Daniel Kuppitz <me@...>
 

Thanks, All the in edges will have same label. Does it still traverse through all edges or directly find the edges with empty timestamp ?

I assume that Janus can only leverage a vertex centric index, if you specify the label, since that was the case in Titan and I don't think I heard about any changes in this area.

So in cases where i need to do lot of traversal, ES is not helpful ?

Again, ES is helpful for the initial vertex lookup. Once you start to traverse through the graph, you can only rely on vertex centric indices (or a good model that doesn't require much filtering).

Also can you explain a bit more on OLAP query


Cheers,
Daniel


On Thu, Sep 21, 2017 at 7:07 AM, Suny <sahithiy...@...> wrote:
Thanks, All the in edges will have same label. Does it still traverse through all edges or directly find the edges with empty timestamp ?

So in cases where i need to do lot of traversal, ES is not helpful ?

Also can you explain a bit more on OLAP query

On Wednesday, September 20, 2017 at 2:35:27 PM UTC-4, Daniel Kuppitz wrote:
You should
  • provide an edge label for inE()
  • have a vertex centric index on timestamp
  • use a simple filter, instead of traversing back to the previous vertex (unless you rely on duplicates in your result)
Something like this:

g.V().has('type', textContains('car')).
  filter(inE('edge-label').has('timestamp','')).
  valueMap()

If you expect very large results, you'd be better off using an OLAP query.

Can I make JG to use ES for traversal too ?

ES is only useful for initial / global vertex lookups.

Cheers,
Daniel


On Wed, Sep 20, 2017 at 7:41 AM, Suny <sahi...@...> wrote:
Hi,

I am using JG with Cassandra and ES. 

I have a type attribute on all vertices based on which i can differentiate group of vertices. 

The query i want to do is

:> g.V().has('type',textContains('car')).inE().has('timestamp','').inV().valueMap()


I created an index on type attribute. If I just query for :> g.V().has('type',textContains('car')) it is coming back very fast with result. If I add the traversal part it is slowing down.


So, JG is using ES to retrieve the vertices of type 'car' and then for traversal it is using just JG. Can I make JG to use ES for traversal too ?


If i add index on edge attribute 'timestamp', does this fasten the query ?


Thanks





--
You received this message because you are subscribed to the Google Groups "JanusGraph users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgraph-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/5aeb2fdc-6199-45f4-8953-866118c2d81a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "JanusGraph users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgraph-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/94e4f5f4-8670-403d-9038-fd64382b61a5%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


Re: Using ES for traversal queries ?

Suny <sahithiy...@...>
 

Thanks, All the in edges will have same label. Does it still traverse through all edges or directly find the edges with empty timestamp ?

So in cases where i need to do lot of traversal, ES is not helpful ?

Also can you explain a bit more on OLAP query

On Wednesday, September 20, 2017 at 2:35:27 PM UTC-4, Daniel Kuppitz wrote:
You should
  • provide an edge label for inE()
  • have a vertex centric index on timestamp
  • use a simple filter, instead of traversing back to the previous vertex (unless you rely on duplicates in your result)
Something like this:

g.V().has('type', textContains('car')).
  filter(inE('edge-label').has('timestamp','')).
  valueMap()

If you expect very large results, you'd be better off using an OLAP query.

Can I make JG to use ES for traversal too ?

ES is only useful for initial / global vertex lookups.

Cheers,
Daniel


On Wed, Sep 20, 2017 at 7:41 AM, Suny <sahi...@...> wrote:
Hi,

I am using JG with Cassandra and ES. 

I have a type attribute on all vertices based on which i can differentiate group of vertices. 

The query i want to do is

:> g.V().has('type',textContains('car')).inE().has('timestamp','').inV().valueMap()


I created an index on type attribute. If I just query for :> g.V().has('type',textContains('car')) it is coming back very fast with result. If I add the traversal part it is slowing down.


So, JG is using ES to retrieve the vertices of type 'car' and then for traversal it is using just JG. Can I make JG to use ES for traversal too ?


If i add index on edge attribute 'timestamp', does this fasten the query ?


Thanks





--
You received this message because you are subscribed to the Google Groups "JanusGraph users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgraph-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/5aeb2fdc-6199-45f4-8953-866118c2d81a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Creating a janusgraph cluster

Ankur Goel <ankur...@...>
 

Best is create cassandra cluster + Solr/ES cluster individualy.

Connect JanusGraph instance to respective cassandra/ES/Solr cluster.

I am not sure how to have multiple instances of Janus Server. Right now i am using single instance of Janus Server.

~AnkurG


On Wednesday, September 20, 2017 at 3:35:18 PM UTC+5:30, Dilan Ranasinghe wrote:
Hello,

I'm currently struggling in creating a Janusgraph cluster. I read the official documents and i'm not clear yet how a cluster is created.

As i understood, most of the documents refer to the hbase or Cassandra  cluster as the janusgraph cluster.

My problem is how can we create a janusgraph/gremlin server cluster?
     1) Do i only need to run janusgraph/gremlin servers in the same network so that they will create a cluster automatically?
     2) Or is there a way to configure a cluster so that janusgraph instances will communicate with each other?
     3) If there is no communication between the janusgraph/gremlin servers can't there be any transaction issues?  For example one server adding a new node to a graph and at the same time another server is also adding a node which        will make an inconsistency.

Thanks and regards,
Dilan.


Re: How can I load the GraphSON(JSON) to JanusGraph and how about update,delete vertices and edges?

sankeeta kamath <sankee...@...>
 



On Monday, August 7, 2017 at 9:01:35 AM UTC-7, hu junjie wrote:
I used 2 methods to import it all are failed.
gremlin> graph.io(graphson()).readGraph("import/test.json")
graph.io(IoCore.graphson()).readGraph("import/test.json");
But for the example graphson I can import it.
gremlin> graph.io(graphson()).readGraph("data/tinkerpop-modern.json")
Another issue is about update and delete vertices and edges?

Below is the failed GraphSON file example:
This is the reference :
https://github.com/tinkerpop/blueprints/wiki/GraphSON-Reader-and-Writer-Library
{
    "graph": {
        "mode":"NORMAL",
        "vertices": [
            {
                "name": "lop",
                "lang": "java",
                "_id": "3",
                "_type": "vertex"
            },
            {
                "name": "vadas",
                "age": 27,
                "_id": "2",
                "_type": "vertex"
            },
            {
                "name": "marko",
                "age": 29,
                "_id": "1",
                "_type": "vertex"
            },
            {
                "name": "peter",
                "age": 35,
                "_id": "6",
                "_type": "vertex"
            },
            {
                "name": "ripple",
                "lang": "java",
                "_id": "5",
                "_type": "vertex"
            },
            {
                "name": "josh",
                "age": 32,
                "_id": "4",
                "_type": "vertex"
            }
        ],
        "edges": [
            {
                "weight": 1,
                "_id": "10",
                "_type": "edge",
                "_outV": "4",
                "_inV": "5",
                "_label": "created"
            },
            {
                "weight": 0.5,
                "_id": "7",
                "_type": "edge",
                "_outV": "1",
                "_inV": "2",
                "_label": "knows"
            },
            {
                "weight": 0.4000000059604645,
                "_id": "9",
                "_type": "edge",
                "_outV": "1",
                "_inV": "3",
                "_label": "created"
            },
            {
                "weight": 1,
                "_id": "8",
                "_type": "edge",
                "_outV": "1",
                "_inV": "4",
                "_label": "knows"
            },
            {
                "weight": 0.4000000059604645,
                "_id": "11",
                "_type": "edge",
                "_outV": "4",
                "_inV": "3",
                "_label": "created"
            },
            {
                "weight": 0.20000000298023224,
                "_id": "12",
                "_type": "edge",
                "_outV": "6",
                "_inV": "3",
                "_label": "created"
            }
        ]
    }
}


You can use

import groovy.json.*


JanusGraph using Jena API

Sreekanth S <sreeka...@...>
 

Hi,
I am new to JanusGraph and I am trying out one scenario, that is using Jena API(It is a Java API used to read RDF/OWL file as triple store and query the same using SPARQL. Ref:https://jena.apache.org/). I am trying to read RDF/OWL file and then to load the same into JanusGraph. 
Is that possible? or JanusGraph have its own capability to load RDF/OWL file and create a JanusGraph? 

Thanks in advance,
Sreekanth S


Re: Using ES for traversal queries ?

Daniel Kuppitz <me@...>
 

You should
  • provide an edge label for inE()
  • have a vertex centric index on timestamp
  • use a simple filter, instead of traversing back to the previous vertex (unless you rely on duplicates in your result)
Something like this:

g.V().has('type', textContains('car')).
  filter(inE('edge-label').has('timestamp','')).
  valueMap()

If you expect very large results, you'd be better off using an OLAP query.

Can I make JG to use ES for traversal too ?

ES is only useful for initial / global vertex lookups.

Cheers,
Daniel


On Wed, Sep 20, 2017 at 7:41 AM, Suny <sahithiy...@...> wrote:
Hi,

I am using JG with Cassandra and ES. 

I have a type attribute on all vertices based on which i can differentiate group of vertices. 

The query i want to do is

:> g.V().has('type',textContains('car')).inE().has('timestamp','').inV().valueMap()


I created an index on type attribute. If I just query for :> g.V().has('type',textContains('car')) it is coming back very fast with result. If I add the traversal part it is slowing down.


So, JG is using ES to retrieve the vertices of type 'car' and then for traversal it is using just JG. Can I make JG to use ES for traversal too ?


If i add index on edge attribute 'timestamp', does this fasten the query ?


Thanks





--
You received this message because you are subscribed to the Google Groups "JanusGraph users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgraph-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/5aeb2fdc-6199-45f4-8953-866118c2d81a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Using ES for traversal queries ?

Suny <sahithiy...@...>
 

Hi,

I am using JG with Cassandra and ES. 

I have a type attribute on all vertices based on which i can differentiate group of vertices. 

The query i want to do is

:> g.V().has('type',textContains('car')).inE().has('timestamp','').inV().valueMap()


I created an index on type attribute. If I just query for :> g.V().has('type',textContains('car')) it is coming back very fast with result. If I add the traversal part it is slowing down.


So, JG is using ES to retrieve the vertices of type 'car' and then for traversal it is using just JG. Can I make JG to use ES for traversal too ?


If i add index on edge attribute 'timestamp', does this fasten the query ?


Thanks






Creating a janusgraph cluster

Dilan Ranasinghe <dila...@...>
 

Hello,

I'm currently struggling in creating a Janusgraph cluster. I read the official documents and i'm not clear yet how a cluster is created.

As i understood, most of the documents refer to the hbase or Cassandra  cluster as the janusgraph cluster.

My problem is how can we create a janusgraph/gremlin server cluster?
     1) Do i only need to run janusgraph/gremlin servers in the same network so that they will create a cluster automatically?
     2) Or is there a way to configure a cluster so that janusgraph instances will communicate with each other?
     3) If there is no communication between the janusgraph/gremlin servers can't there be any transaction issues?  For example one server adding a new node to a graph and at the same time another server is also adding a node which        will make an inconsistency.

Thanks and regards,
Dilan.


Re: Dynamic edge creation

Ankur Goel <ankur...@...>
 

Thnx Robert, it helped big time.


On Friday, September 15, 2017 at 3:02:46 PM UTC+5:30, Ankur Goel wrote:
Hi,

 In JanusGraph to create edges we have two steps process:
  1. First identify the vertex
  2. Then create edges between vertex
Linkage between both steps is through App only.

How ever in neo4j, we can create edges using one step:

MATCH (a:player), (b:Country) WHERE a.POB = "X" AND b.name = "Y" 
CREATE (a)-[r: Z]->(b) 
RETURN a,b

Can we achieve the same in JanusGraph using Janus or tinkerpoop.

~AnkurG


Re: Elastic search 5.5.1 with Janusgraph

Jerry He <jerr...@...>
 

On the stack trace, you are hitting https://github.com/JanusGraph/janusgraph/issues/488

Thanks.

Jerry


On Monday, September 18, 2017 at 10:48:11 PM UTC-7, guan wang wrote:
Thank you Jerry. Yes, it was classpath problem. After fixed it. Now I have different error. 
solr/zookeeper connection is fine, the collections are automatically created after, but the index is empty.

22:36:37.548 [main] DEBUG o.j.d.hbase.HBaseKeyColumnValueStore - Generated HBase Filter ColumnRangeFilter [\x00, \xFF)
Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Stopwatch.elapsedTime(Ljava/util/concurrent/TimeUnit;)J
at com.google.common.cache.LocalCache$LoadingValueReference.elapsedNanos(LocalCache.java:3600)
at com.google.common.cache.LocalCache$Segment.getAndRecordStats(LocalCache.java:2407)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2373)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2335)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2250)
at com.google.common.cache.LocalCache.get(LocalCache.java:3985)
at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4788)
at org.janusgraph.graphdb.transaction.vertexcache.GuavaVertexCache.get(GuavaVertexCache.java:83)
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx.getInternalVertex(StandardJanusGraphTx.java:446)
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx$7.apply(StandardJanusGraphTx.java:1329)
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx$7.apply(StandardJanusGraphTx.java:1324)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.stream.SliceOps$1$1.accept(SliceOps.java:204)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1351)
at java.util.stream.StreamSpliterators$WrappingSpliterator.lambda$initPartialTraversalState$0(StreamSpliterators.java:294)
at java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.fillBuffer(StreamSpliterators.java:206)
at java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.doAdvance(StreamSpliterators.java:161)
at java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:300)
at java.util.Spliterators$1Adapter.hasNext(Spliterators.java:681)
at org.janusgraph.graphdb.util.SubqueryIterator.hasNext(SubqueryIterator.java:79)
at org.janusgraph.graphdb.query.LimitAdjustingIterator.hasNext(LimitAdjustingIterator.java:70)
at org.janusgraph.graphdb.query.ResultSetIterator.nextInternal(ResultSetIterator.java:54)
at org.janusgraph.graphdb.query.ResultSetIterator.<init>(ResultSetIterator.java:44)
at org.janusgraph.graphdb.query.QueryProcessor.iterator(QueryProcessor.java:68)
at com.google.common.collect.Iterables$7.iterator(Iterables.java:613)
at com.google.common.collect.Iterables.getOnlyElement(Iterables.java:284)
at org.janusgraph.graphdb.database.StandardJanusGraph$1.retrieveSchemaByName(StandardJanusGraph.java:361)
at org.janusgraph.graphdb.database.cache.StandardSchemaCache.getSchemaId(StandardSchemaCache.java:112)
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx.getSchemaVertex(StandardJanusGraphTx.java:878)
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx.getVertexLabel(StandardJanusGraphTx.java:1005)
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx.getOrCreateVertexLabel(StandardJanusGraphTx.java:1010)
at org.janusgraph.graphdb.tinkerpop.JanusGraphBlueprintsTransaction.addVertex(JanusGraphBlueprintsTransaction.java:119)
at org.janusgraph.example.GraphOfTheGodsFactory.load(GraphOfTheGodsFactory.java:117)
at org.janusgraph.example.GraphOfTheGodsFactory.load(GraphOfTheGodsFactory.java:66)
at com.sysomos.labs.janusgraph.JavaExample.main(JavaExample.java:32)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
22:36:38.264 [main-SendThread(alzk01.lab.dev.yyz.corp.pvt:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Got ping response for sessionid: 0x15790982d05010f after 82ms
22:36:41.391 [pool-6-thread-1] DEBUG o.j.d.hbase.HBaseKeyColumnValueStore - Generated HBase Filter FilterList AND (2/2): [ColumnRangeFilter [\x00\x05Y\x84>\x17\x0F\x18, \x00\x05Y\x84>W\x0A\x00), ColumnPaginationFilter 

On Sun, 17 Sep 2017 at 15:02 Jerry He <je...@...> wrote:
Looks like you are missing janusgraph-solr jar in your classpath.

Thanks,

Jerry

On Sat, Sep 16, 2017 at 5:42 PM,  <g...@...> wrote:
> need help to use the master branch for janusgraph-hbase-solr setup
> I got code compiled. When I run the example in the core directory, hbase
> connection is fine and the table been created. But I got the following solr
> index error
> .....
> 17:23:48.039 [main] DEBUG o.j.d.hbase.HBaseStoreManager - [HBaseConfig]
> s3.bytes-per-checksum=512
> 17:23:48.039 [main] DEBUG o.j.d.hbase.HBaseStoreManager - [HBaseConfig]
> hfile.index.block.max.size=131072
> 17:23:48.039 [main] DEBUG o.j.d.hbase.HBaseStoreManager - [HBaseConfig]
> yarn.resourcemanager.webapp.https.address=${yarn.resourcemanager.hostname}:8090
> 17:23:48.039 [main] DEBUG o.j.d.hbase.HBaseStoreManager - [HBaseConfig]
> hbase.regionserver.info.bindAddress=0.0.0.0
> 17:23:48.039 [main] DEBUG o.j.d.hbase.HBaseStoreManager - End of HBase
> config key=value pairs
> 17:23:48.040 [main] INFO  org.janusgraph.diskstorage.Backend - Configuring
> index [search]
> Exception in thread "main" java.lang.IllegalArgumentException: Could not
> find implementation class: org.janusgraph.diskstorage.solr.SolrIndex
> at
> org.janusgraph.util.system.ConfigurationUtil.instantiate(ConfigurationUtil.java:61)
> at
> org.janusgraph.diskstorage.Backend.getImplementationClass(Backend.java:477)
> at org.janusgraph.diskstorage.Backend.getIndexes(Backend.java:464)
> at org.janusgraph.diskstorage.Backend.<init>(Backend.java:149)
> at
> org.janusgraph.graphdb.configuration.GraphDatabaseConfiguration.getBackend(GraphDatabaseConfiguration.java:1872)
> at
> org.janusgraph.graphdb.database.StandardJanusGraph.<init>(StandardJanusGraph.java:134)
> at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:107)
> at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:75)
> at com.sysomos.labs.janusgraph.MyTestFactory.main(MyTestFactory.java:165)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
> Caused by: java.lang.ClassNotFoundException:
> org.janusgraph.diskstorage.solr.SolrIndex
> at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:264)
> at
> org.janusgraph.util.system.ConfigurationUtil.instantiate(ConfigurationUtil.java:56)
>
> My janusgraph-hbase-solr.properties like this
>
>
> storage.backend=hbase
>
> storage.hostname=alghzk01:2181,alghzk02:2181,alghzk03:2181
>
>
> cache.db-cache = false
>
>
> index.search.backend=solr    (solr6.6 is used)
>
> index.search.solr.mode=cloud
>
> index.search.solr.zookeeper-url=alzk01.lab.dev.yyz.corp.pvt:2181/solr,alzk02.lab.dev.yyz.corp.pvt:2181/solr,alzk03.lab.dev.yyz.corp.pvt:2181/solr
>
> index.search.solr.configset=janusGraphConf
>
> #index.vertics.solr.num-shards=10
>
> #index.edges.solr.num-shards=10
>
>
> I do have solr collections (edges and vertices) created.
>
>
> Thanks,
>
> Guan
>
>
>
> On Friday, 15 September 2017 08:53:34 UTC-7, Jason Plurad wrote:
>>
>> JanusGraph 0.2.0 will be out before next year, definitely.
>> If you want to try out the ES 5.5 functionality, it is available now on
>> the master branch.
>> Build a distribution from source code, and you can help test it out now.
>>
>>
>> On Friday, September 15, 2017 at 10:42:08 AM UTC-4, Suny wrote:
>>>
>>> I see JG 0.1.1 is compatible  with 1.5.1 version of Elastic Search. I
>>> read somewhere JG 0.2.0 is going to support ES 5.x, but it is going to be
>>> released early next year may be.  Is it possible to customize JG 0.1.1 it to
>>> work with ES 5.5.1 version ?  Is this a good idea ? Did anybody tried doing
>>> this ?
>
> --
> You received this message because you are subscribed to the Google Groups
> "JanusGraph users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to janusgraph-use...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/janusgraph-users/0c18de50-95c9-43a8-9beb-f97b8c11f7c3%40googlegroups.com.
>
> For more options, visit https://groups.google.com/d/optout.


Re: Getting TemporaryLockingException: No lock columns found for KeyColumn for mgmt.commit()

Suny <sahithiy...@...>
 

Were you able to resolve this issue ?


On Thursday, August 31, 2017 at 9:18:40 AM UTC-4, pad...@... wrote:
Using janusgraph-0.1.0-hadoop2 with backend cassandra-3.0.14:

This is the configuration file:
storage.backend=cassandrathrift
storage.hostname=hostName1
storage.cassandra.keyspace=keyspaceName
storage.batch-loading=false
cache.db-cache=true
cache.db-cache-time = 180000
cache.db-cache-size = 0.25
storage.lock.wait-time=300000
storage.lock.retries=10
storage.lock.clean-expired=true
storage.buffer-size=512
ids.block-size=300000
storage.cassandra.compression=false
storage.lock.expiry-time=100
index.search.backend=elasticsearch
index.search.hostname=es-hostName
index.search.elasticsearch.client-only=true
storage.connection-timeout=300000


Tried to create a new label with new cassandra keyspace(empty keyspace)..but getting below exception:

graph = JanusGraphFactory.open('janus.properties')
mgmt= graph.openManagement()
labelName = mgmt.makeVertexLabel('labelName').make()
mgmt.commit()
Could not commit transaction due to exception during persistence
Type ':help' or ':h' for help.
Display stack trace? [yN]y
org.janusgraph.core.JanusGraphException: Could not commit transaction due to exception during persistence
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx.commit(StandardJanusGraphTx.java:1374)
at org.janusgraph.graphdb.database.management.ManagementSystem.commit(ManagementSystem.java:235)
at org.janusgraph.core.schema.JanusGraphManagement$commit.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
at groovysh_evaluate.run(groovysh_evaluate:3)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
at org.codehaus.groovy.tools.shell.Interpreter.evaluate(Interpreter.groovy:70)
at org.codehaus.groovy.tools.shell.Groovysh.execute(Groovysh.groovy:190)
at org.apache.tinkerpop.gremlin.console.GremlinGroovysh.super$3$execute(GremlinGroovysh.groovy)
at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1215)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)
at org.apache.tinkerpop.gremlin.console.GremlinGroovysh.execute(GremlinGroovysh.groovy:72)
at org.codehaus.groovy.tools.shell.Shell.leftShift(Shell.groovy:122)
at org.codehaus.groovy.tools.shell.InteractiveShellRunner.super$2$work(InteractiveShellRunner.groovy)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1215)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0(ScriptBytecodeAdapter.java:152)
at org.codehaus.groovy.tools.shell.ShellRunner.run(ShellRunner.groovy:59)
at org.codehaus.groovy.tools.shell.InteractiveShellRunner.super$2$run(InteractiveShellRunner.groovy)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1215)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0(ScriptBytecodeAdapter.java:152)
at org.codehaus.groovy.tools.shell.InteractiveShellRunner.run(InteractiveShellRunner.groovy:83)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
at org.apache.tinkerpop.gremlin.console.Console.<init>(Console.groovy:152)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
at org.apache.tinkerpop.gremlin.console.Console.main(Console.groovy:455)
Caused by: org.janusgraph.core.JanusGraphException: Could not execute operation due to backend exception
at org.janusgraph.diskstorage.util.BackendOperation.execute(BackendOperation.java:57)
at org.janusgraph.diskstorage.keycolumnvalue.cache.CacheTransaction.persist(CacheTransaction.java:95)
at org.janusgraph.diskstorage.keycolumnvalue.cache.CacheTransaction.flushInternal(CacheTransaction.java:143)
at org.janusgraph.diskstorage.keycolumnvalue.cache.CacheTransaction.commit(CacheTransaction.java:200)
at org.janusgraph.diskstorage.BackendTransaction.commit(BackendTransaction.java:150)
at org.janusgraph.graphdb.database.StandardJanusGraph.commit(StandardJanusGraph.java:703)
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx.commit(StandardJanusGraphTx.java:1363)
... 47 more
Caused by: org.janusgraph.diskstorage.TemporaryBackendException: Could not successfully complete backend operation due to repeated temporary exceptions after PT3M20S
at org.janusgraph.diskstorage.util.BackendOperation.executeDirect(BackendOperation.java:101)
at org.janusgraph.diskstorage.util.BackendOperation.execute(BackendOperation.java:55)
... 53 more
Caused by: org.janusgraph.diskstorage.locking.TemporaryLockingException: No lock columns found for KeyColumn [k=0x 16-165-160-118-108- 30-114-101-113-117-101-115-116- 95-106-111-226, c=0x  0]
at org.janusgraph.diskstorage.locking.consistentkey.ConsistentKeyLocker.checkSeniority(ConsistentKeyLocker.java:519)
at org.janusgraph.diskstorage.locking.consistentkey.ConsistentKeyLocker.checkSingleLock(ConsistentKeyLocker.java:454)
at org.janusgraph.diskstorage.locking.consistentkey.ConsistentKeyLocker.checkSingleLock(ConsistentKeyLocker.java:123)
at org.janusgraph.diskstorage.locking.AbstractLocker.checkLocks(AbstractLocker.java:351)
at org.janusgraph.diskstorage.locking.consistentkey.ExpectedValueCheckingTransaction.checkAllLocks(ExpectedValueCheckingTransaction.java:178)
at org.janusgraph.diskstorage.locking.consistentkey.ExpectedValueCheckingTransaction.prepareForMutations(ExpectedValueCheckingTransaction.java:157)
at org.janusgraph.diskstorage.locking.consistentkey.ExpectedValueCheckingStoreManager.mutateMany(ExpectedValueCheckingStoreManager.java:72)
at org.janusgraph.diskstorage.keycolumnvalue.cache.CacheTransaction$1.call(CacheTransaction.java:98)
at org.janusgraph.diskstorage.keycolumnvalue.cache.CacheTransaction$1.call(CacheTransaction.java:95)
at org.janusgraph.diskstorage.util.BackendOperation.executeDirect(BackendOperation.java:69)
...54 more


Limit on size of strings in Janusgraph

Suny <sahithiy...@...>
 

Is there any limit on size of strings in Janusgraph ? (Using String datatype)


Re: unique index per label

stan...@...
 

Hi,Robert. I want to index all my vertex.But it seems to slow. Is there any resolvent?

在 2017年9月12日星期二 UTC+8上午12:35:10,Robert Dale写道:



When a composite index with label restriction is defined as unique, the uniqueness constraint only applies to properties on vertices or edges for the specified label.


Robert Dale

On Mon, Sep 11, 2017 at 9:32 AM, Ankur Goel <an...@...> wrote:
Unique index is globally.

~AnkurG


On Monday, September 11, 2017 at 4:45:01 PM UTC+5:30, ya...@... wrote:
As I understand labels are used for partitioning. Does the same apply for clustering?

I.E I create vertices and edges with custom properties. Assume I have a unique property called: 'nodeId'.

Now I have logical groups. each group has a UUID. I use this UUID as the vertex label.

Can I create 2 different vertices with the same nodeId if they are assigned different labels? Or is the unique index global to all labels?


--
You received this message because you are subscribed to the Google Groups "JanusGraph users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgraph-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/f46ec589-a3fe-4608-bcbd-0d0e1bdcf1f3%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


Re: Elastic search 5.5.1 with Janusgraph

guan wang <gyw...@...>
 

Thank you Jerry. Yes, it was classpath problem. After fixed it. Now I have different error. 
solr/zookeeper connection is fine, the collections are automatically created after, but the index is empty.

22:36:37.548 [main] DEBUG o.j.d.hbase.HBaseKeyColumnValueStore - Generated HBase Filter ColumnRangeFilter [\x00, \xFF)
Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Stopwatch.elapsedTime(Ljava/util/concurrent/TimeUnit;)J
at com.google.common.cache.LocalCache$LoadingValueReference.elapsedNanos(LocalCache.java:3600)
at com.google.common.cache.LocalCache$Segment.getAndRecordStats(LocalCache.java:2407)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2373)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2335)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2250)
at com.google.common.cache.LocalCache.get(LocalCache.java:3985)
at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4788)
at org.janusgraph.graphdb.transaction.vertexcache.GuavaVertexCache.get(GuavaVertexCache.java:83)
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx.getInternalVertex(StandardJanusGraphTx.java:446)
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx$7.apply(StandardJanusGraphTx.java:1329)
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx$7.apply(StandardJanusGraphTx.java:1324)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.stream.SliceOps$1$1.accept(SliceOps.java:204)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1351)
at java.util.stream.StreamSpliterators$WrappingSpliterator.lambda$initPartialTraversalState$0(StreamSpliterators.java:294)
at java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.fillBuffer(StreamSpliterators.java:206)
at java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.doAdvance(StreamSpliterators.java:161)
at java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:300)
at java.util.Spliterators$1Adapter.hasNext(Spliterators.java:681)
at org.janusgraph.graphdb.util.SubqueryIterator.hasNext(SubqueryIterator.java:79)
at org.janusgraph.graphdb.query.LimitAdjustingIterator.hasNext(LimitAdjustingIterator.java:70)
at org.janusgraph.graphdb.query.ResultSetIterator.nextInternal(ResultSetIterator.java:54)
at org.janusgraph.graphdb.query.ResultSetIterator.<init>(ResultSetIterator.java:44)
at org.janusgraph.graphdb.query.QueryProcessor.iterator(QueryProcessor.java:68)
at com.google.common.collect.Iterables$7.iterator(Iterables.java:613)
at com.google.common.collect.Iterables.getOnlyElement(Iterables.java:284)
at org.janusgraph.graphdb.database.StandardJanusGraph$1.retrieveSchemaByName(StandardJanusGraph.java:361)
at org.janusgraph.graphdb.database.cache.StandardSchemaCache.getSchemaId(StandardSchemaCache.java:112)
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx.getSchemaVertex(StandardJanusGraphTx.java:878)
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx.getVertexLabel(StandardJanusGraphTx.java:1005)
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx.getOrCreateVertexLabel(StandardJanusGraphTx.java:1010)
at org.janusgraph.graphdb.tinkerpop.JanusGraphBlueprintsTransaction.addVertex(JanusGraphBlueprintsTransaction.java:119)
at org.janusgraph.example.GraphOfTheGodsFactory.load(GraphOfTheGodsFactory.java:117)
at org.janusgraph.example.GraphOfTheGodsFactory.load(GraphOfTheGodsFactory.java:66)
at com.sysomos.labs.janusgraph.JavaExample.main(JavaExample.java:32)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
22:36:38.264 [main-SendThread(alzk01.lab.dev.yyz.corp.pvt:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Got ping response for sessionid: 0x15790982d05010f after 82ms
22:36:41.391 [pool-6-thread-1] DEBUG o.j.d.hbase.HBaseKeyColumnValueStore - Generated HBase Filter FilterList AND (2/2): [ColumnRangeFilter [\x00\x05Y\x84>\x17\x0F\x18, \x00\x05Y\x84>W\x0A\x00), ColumnPaginationFilter 

On Sun, 17 Sep 2017 at 15:02 Jerry He <jerr...@...> wrote:
Looks like you are missing janusgraph-solr jar in your classpath.

Thanks,

Jerry

On Sat, Sep 16, 2017 at 5:42 PM,  <gyw...@...> wrote:
> need help to use the master branch for janusgraph-hbase-solr setup
> I got code compiled. When I run the example in the core directory, hbase
> connection is fine and the table been created. But I got the following solr
> index error
> .....
> 17:23:48.039 [main] DEBUG o.j.d.hbase.HBaseStoreManager - [HBaseConfig]
> s3.bytes-per-checksum=512
> 17:23:48.039 [main] DEBUG o.j.d.hbase.HBaseStoreManager - [HBaseConfig]
> hfile.index.block.max.size=131072
> 17:23:48.039 [main] DEBUG o.j.d.hbase.HBaseStoreManager - [HBaseConfig]
> yarn.resourcemanager.webapp.https.address=${yarn.resourcemanager.hostname}:8090
> 17:23:48.039 [main] DEBUG o.j.d.hbase.HBaseStoreManager - [HBaseConfig]
> hbase.regionserver.info.bindAddress=0.0.0.0
> 17:23:48.039 [main] DEBUG o.j.d.hbase.HBaseStoreManager - End of HBase
> config key=value pairs
> 17:23:48.040 [main] INFO  org.janusgraph.diskstorage.Backend - Configuring
> index [search]
> Exception in thread "main" java.lang.IllegalArgumentException: Could not
> find implementation class: org.janusgraph.diskstorage.solr.SolrIndex
> at
> org.janusgraph.util.system.ConfigurationUtil.instantiate(ConfigurationUtil.java:61)
> at
> org.janusgraph.diskstorage.Backend.getImplementationClass(Backend.java:477)
> at org.janusgraph.diskstorage.Backend.getIndexes(Backend.java:464)
> at org.janusgraph.diskstorage.Backend.<init>(Backend.java:149)
> at
> org.janusgraph.graphdb.configuration.GraphDatabaseConfiguration.getBackend(GraphDatabaseConfiguration.java:1872)
> at
> org.janusgraph.graphdb.database.StandardJanusGraph.<init>(StandardJanusGraph.java:134)
> at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:107)
> at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:75)
> at com.sysomos.labs.janusgraph.MyTestFactory.main(MyTestFactory.java:165)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
> Caused by: java.lang.ClassNotFoundException:
> org.janusgraph.diskstorage.solr.SolrIndex
> at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:264)
> at
> org.janusgraph.util.system.ConfigurationUtil.instantiate(ConfigurationUtil.java:56)
>
> My janusgraph-hbase-solr.properties like this
>
>
> storage.backend=hbase
>
> storage.hostname=alghzk01:2181,alghzk02:2181,alghzk03:2181
>
>
> cache.db-cache = false
>
>
> index.search.backend=solr    (solr6.6 is used)
>
> index.search.solr.mode=cloud
>
> index.search.solr.zookeeper-url=alzk01.lab.dev.yyz.corp.pvt:2181/solr,alzk02.lab.dev.yyz.corp.pvt:2181/solr,alzk03.lab.dev.yyz.corp.pvt:2181/solr
>
> index.search.solr.configset=janusGraphConf
>
> #index.vertics.solr.num-shards=10
>
> #index.edges.solr.num-shards=10
>
>
> I do have solr collections (edges and vertices) created.
>
>
> Thanks,
>
> Guan
>
>
>
> On Friday, 15 September 2017 08:53:34 UTC-7, Jason Plurad wrote:
>>
>> JanusGraph 0.2.0 will be out before next year, definitely.
>> If you want to try out the ES 5.5 functionality, it is available now on
>> the master branch.
>> Build a distribution from source code, and you can help test it out now.
>>
>>
>> On Friday, September 15, 2017 at 10:42:08 AM UTC-4, Suny wrote:
>>>
>>> I see JG 0.1.1 is compatible  with 1.5.1 version of Elastic Search. I
>>> read somewhere JG 0.2.0 is going to support ES 5.x, but it is going to be
>>> released early next year may be.  Is it possible to customize JG 0.1.1 it to
>>> work with ES 5.5.1 version ?  Is this a good idea ? Did anybody tried doing
>>> this ?
>
> --
> You received this message because you are subscribed to the Google Groups
> "JanusGraph users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to janusgra...@....
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/janusgraph-users/0c18de50-95c9-43a8-9beb-f97b8c11f7c3%40googlegroups.com.
>
> For more options, visit https://groups.google.com/d/optout.


Re: Fetching TTL for individual graph vertices

Jerry He <jerr...@...>
 

Hi, Sankar

You raised a good question.

If you use the management API to get Edge Label (or any types) TTL, you will get the configured fixed TTL value.

But if you try to retrieve the individual TTLs on the individual edges, you MAY get the 'remaining time' as you would want it.

JanusGraph simply returns what it gets from the Cassandra backend.  From the CQL documentation, it does seem that Cassandra returns the 'remaining time'.  Please try it out with the driver you use.

Thanks,

Jerry


On Sunday, September 17, 2017 at 11:20:06 PM UTC-7, Sankar Sangili wrote:
Hi Jerry 

Thanks for the reply. 

The Sample use case could be like . John wantsBike BikeA . Here the edge label could have a ttl of 3 days. if i am suppose to understand all the users whose wantsBike  TTL is about to expire in next 9 hours , How can i get it.

In the tescases of JanusGraphTest ,I was not able to find the cases for finding the remaining TTL for the edge/vertex . I think it provides the configured time. Please let me know if my understanding is not right.

Regards
Sankar S



On Saturday, September 16, 2017 at 12:39:16 AM UTC+5:30, Jerry He wrote:
What is the use case that you want to fetch individual TTLs. 
The TTLs are defined on VertexLable, EdgeLable and PropertyKey via the management API.  After that anytime you can retrieve the generic TTL for a particular type, which is the pre-set fixed number.
There are ways to get individual TTL. You can look at  the TTL test cases in JanusGraphTest.

Thanks,

Jerry

On Friday, September 15, 2017 at 6:21:39 AM UTC-7, Sankar Sangili wrote:
Hi All,

We are working on janusgraph-cassandra api, and have implemented TTL on vertex labels. But we want to fetch the value of TTL for each vertex, 
Below link gives reference to fetch TTL of individual records in Cassandra, and we want to implement this using janusgraph.

Cassandra Query

Cassandra Query :-
'SELECT TTL(race_name) 
FROM cycling.calendar 
WHERE race_id=200;
Output:
 ttl(race_name)
----------------
            276  
We want to implement above query of cassandra using janusgraph.

So, can you please give reference to some link, or give some clarity on how we can implement this using Janusgraph.


Re: Dynamic edge creation

Robert Dale <rob...@...>
 


Change `outE()` to `bothE()` since you don't care about direction.


On Monday, September 18, 2017 at 6:21:59 AM UTC-4, Robert Dale wrote:
If `l1` is `p1` then yes, this will create an edge from every player p1 to every player p2. You're not filtering anything out so all players show up in both `V().hasLabel('player')`.  If you want to filter out `self` and `has existing 'sameTeam' edge, try this:

g.V().hasLabel('player').as('p1').V().hasLabel('player').where(neq('p1')).where(eq('p1')).by('teamName').not(outE('sameTeam')).addE('sameTeam').from('p1')

Robert Dale

On Mon, Sep 18, 2017 at 1:58 AM, Ankur Goel <ankur...@...> wrote:
Thnx Robert n Daniel,

Its working like charm. But it got stuck in other use case:

where i want to create relation based on team:

g.V().hasLabel('player').as('p1').V().hasLabel('player').where(eq('l1')).by('teamName').addE('sameTeam').from('p1')

in this i want to create edges between same teamName player.

Above gremlin query is working but creating all combination of edges. For example for a 3 node of player label  having same team name, its creating 9 edges, instead of 3 only. Double edges for between two vertex and one loop to same vertex.

~AnkurG


On Fri, Sep 15, 2017 at 7:54 PM, Daniel Kuppitz <me@...> wrote:
Oops, Gmail didn't notify me about your response, sorry for the double-post.

On Fri, Sep 15, 2017 at 6:57 AM, Robert Dale <rob...@...> wrote:

g.V().hasLabel('player').as('player').V().hasLabel('Country').where(eq('player')).by('name').by('POB').addE('Z').from('player')

Robert Dale

On Fri, Sep 15, 2017 at 9:44 AM, Ankur Goel <ankur...@...> wrote:
Thnx Robert,

i am looking for a query like create edges where they have common properties without explicitly defining properties values:

g.V().has('player','POB',${A}).as('a').V().has('Country','name',{B}).addE('Z').from('a').where(${A} = ${B})

~AnkurG




On Friday, September 15, 2017 at 3:02:46 PM UTC+5:30, Ankur Goel wrote:
Hi,

 In JanusGraph to create edges we have two steps process:
  1. First identify the vertex
  2. Then create edges between vertex
Linkage between both steps is through App only.

How ever in neo4j, we can create edges using one step:

MATCH (a:player), (b:Country) WHERE a.POB = "X" AND b.name = "Y" 
CREATE (a)-[r: Z]->(b) 
RETURN a,b

Can we achieve the same in JanusGraph using Janus or tinkerpoop.

~AnkurG

--
You received this message because you are subscribed to the Google Groups "JanusGraph users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgraph-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/06575748-b6cc-4f1a-aeac-cd76b9cb5b28%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "JanusGraph users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgraph-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/CABed_4q6%3DB%2BNPgu-QgFETS1fjckAVF%3DbVCWMnaT7%3Dyq1o6eCpg%40mail.gmail.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to a topic in the Google Groups "JanusGraph users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/janusgraph-users/7Cn4G__XGjU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to janusgraph-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/CA%2Bf9seVEwxs2%2BHFmQV-8mJ_2LU79tjkAJ5AeorsH%3De2PtLwk4g%40mail.gmail.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "JanusGraph users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgraph-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/CAFDtHAns%3Do9iTrB7q8w%2Bz%2BWvuQvcf9KXnfyOgg2JRGnVg-0sQQ%40mail.gmail.com.

For more options, visit https://groups.google.com/d/optout.


Re: Dynamic edge creation

Robert Dale <rob...@...>
 

If `l1` is `p1` then yes, this will create an edge from every player p1 to every player p2. You're not filtering anything out so all players show up in both `V().hasLabel('player')`.  If you want to filter out `self` and `has existing 'sameTeam' edge, try this:

g.V().hasLabel('player').as('p1').V().hasLabel('player').where(neq('p1')).where(eq('p1')).by('teamName').not(outE('sameTeam')).addE('sameTeam').from('p1')

Robert Dale

On Mon, Sep 18, 2017 at 1:58 AM, Ankur Goel <ankur...@...> wrote:
Thnx Robert n Daniel,

Its working like charm. But it got stuck in other use case:

where i want to create relation based on team:

g.V().hasLabel('player').as('p1').V().hasLabel('player').where(eq('l1')).by('teamName').addE('sameTeam').from('p1')

in this i want to create edges between same teamName player.

Above gremlin query is working but creating all combination of edges. For example for a 3 node of player label  having same team name, its creating 9 edges, instead of 3 only. Double edges for between two vertex and one loop to same vertex.

~AnkurG


On Fri, Sep 15, 2017 at 7:54 PM, Daniel Kuppitz <me@...> wrote:
Oops, Gmail didn't notify me about your response, sorry for the double-post.

On Fri, Sep 15, 2017 at 6:57 AM, Robert Dale <rob...@...> wrote:

g.V().hasLabel('player').as('player').V().hasLabel('Country').where(eq('player')).by('name').by('POB').addE('Z').from('player')

Robert Dale

On Fri, Sep 15, 2017 at 9:44 AM, Ankur Goel <ankur...@...> wrote:
Thnx Robert,

i am looking for a query like create edges where they have common properties without explicitly defining properties values:

g.V().has('player','POB',${A}).as('a').V().has('Country','name',{B}).addE('Z').from('a').where(${A} = ${B})

~AnkurG




On Friday, September 15, 2017 at 3:02:46 PM UTC+5:30, Ankur Goel wrote:
Hi,

 In JanusGraph to create edges we have two steps process:
  1. First identify the vertex
  2. Then create edges between vertex
Linkage between both steps is through App only.

How ever in neo4j, we can create edges using one step:

MATCH (a:player), (b:Country) WHERE a.POB = "X" AND b.name = "Y" 
CREATE (a)-[r: Z]->(b) 
RETURN a,b

Can we achieve the same in JanusGraph using Janus or tinkerpoop.

~AnkurG

--
You received this message because you are subscribed to the Google Groups "JanusGraph users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgraph-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/06575748-b6cc-4f1a-aeac-cd76b9cb5b28%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "JanusGraph users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgraph-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/CABed_4q6%3DB%2BNPgu-QgFETS1fjckAVF%3DbVCWMnaT7%3Dyq1o6eCpg%40mail.gmail.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to a topic in the Google Groups "JanusGraph users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/janusgraph-users/7Cn4G__XGjU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to janusgraph-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/CA%2Bf9seVEwxs2%2BHFmQV-8mJ_2LU79tjkAJ5AeorsH%3De2PtLwk4g%40mail.gmail.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "JanusGraph users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgraph-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/CAFDtHAns%3Do9iTrB7q8w%2Bz%2BWvuQvcf9KXnfyOgg2JRGnVg-0sQQ%40mail.gmail.com.

For more options, visit https://groups.google.com/d/optout.