Re: Multiple writers cause inconsistent vertices
Robert Dale <rob...@...>
Do you `mgt.commit()`? Do you `mgt.awaitGraphIndexStatus(graph, 'UniqueURI').call()`? You can use this script in the console to help see the state of the index - https://gist.github.com/robertdale/ad4c63910009dd1118abe67b33ce41e1 Robert Dale On Sat, Sep 23, 2017 at 6:36 AM, Ajay Srivastava <Ajay.Sr...@...> wrote:
|
|
Can I use JanusGraph with C#.net and if so how?
biniam...@...
Hello, I am new to JanusGraph and I want to use it in a C# project. I plan to use AWS DynamoDB as a storage engine. Does JanusGraph support writing the implementation in C# programming language? If it does, what library can I use? Can you please provide me with a sample project (may be in Github) or a blog post? Thanks. |
|
Multiple writers cause inconsistent vertices
Ajay Srivastava <Ajay.Sr...@...>
Hi,
I am using janusgraph-0.1.1 with HBase.
The data is being loaded in graph using three clients connecting to same gremlin server. The clients are executing same code that checks if vertex is not already present in the graph then it inserts the vertex.
I was verifying the data and found following problem -
scala> graph.V().hasLabel("Root").toList
15:27:22,361 WARN StandardJanusGraphTx:1273 - Query requires iterating over all vertices [(~label = Root)]. For better performance, use indexes
res11: List[gremlin.scala.Vertex] = List(v[737304], v[4136], v[442432])
Results is three vertices.
scala> graph.V().hasLabel("Root").properties("URI").toList
15:27:52,275 WARN StandardJanusGraphTx:1273 - Query requires iterating over all vertices [(~label = Root)]. For better performance, use indexes
res13: List[gremlin.scala.Property[Any]] = List(vp[URI->Root], vp[URI->Root], vp[URI->Root])
Result is three vertices having same URI.
scala> val uri = Key[String]("URI")
scala> graph.V().has(uri, "Root").toList
res12: List[gremlin.scala.Vertex] = List(v[442432])
Since vertices are uniquely indexed on URI, this result is correct. Janusgraph should not have allowed to insert vertices having same URI but it did as displayed in above two outputs.
I am new to janusgraph and have many questions -
1) What am I doing wrong here ?
2) Multiple clients writing to same gremlin server may create problem ?
3) How to read back the schema created by me ?
4) Below is the code for creating schema. Is this correct ?
/* Creating three types of vertices having same properties and indexed on same property URI */
def createVertexSchema : Boolean = {
val vertexLabels = Array("Root", "Lang", "Cocpt")
val GUID = mgt.makePropertyKey("GUID").dataType(classOf[String]).make
val Name = mgt.makePropertyKey("Name").dataType(classOf[String]).make
val URI = mgt.makePropertyKey("URI").dataType(classOf[String]).make
vertexLabels.foreach {
vertexLabel =>
val vLabel = mgt.makeVertexLabel(vertexLabel).make
}
mgt.buildIndex("UniqueURI", classOf[Vertex]).addKey(URI).unique().buildCompositeIndex()
true
}
Regards,
Ajay
|
|
Re: PageRank on Large Graph
HadoopMarc <bi...@...>
Hi Joe, This question reminds me to an earlier discussion we had on the performance of OLAP traversals for janusgraph-hbase. My conclusion there that janusgraph-hbase needs a better HbaseInputFormat that delivers more partitions than one partition per HBase region. I guess Pagerank suffers from that in the same way. Do you maybe have the option to use Cassandra, which has a configurable cassandra.inpit.split.size ? I did not try this myself. HTH, Marc Op vrijdag 22 september 2017 15:41:12 UTC+2 schreef Joseph Obernberger: Hi All - I've been experimenting with SparkGraphComputer, and have it |
|
Re: ES with JG
Suny <sahithiy...@...>
I have Cassandra and ES hosted on AWS. JG and ES on one node and Cassandra running on different node. Do you think that is causing issues ? I am trying to setup JS,ES and Cassandra on same node and try it out. Any other suggestions ? On Friday, September 22, 2017 at 11:29:04 AM UTC-4, Robert Dale wrote:
|
|
Re: ES with JG
Robert Dale <rob...@...>
First, I'm not sure if an index is being used here. Second, my full table scans with 10k vertices is faster. (I'm also using 0.2.0-SNAPSHOT) So you probably have some other issues going on. Is your Cassandra and ES local or over internet? No index, no cache: gremlin> g.V().has('type',textContains('car')).valueMap().profile() 11:15:01 WARN org.janusgraph.graphdb.transaction.StandardJanusGraphTx - Query requires iterating over all vertices [(type textContains car)]. For better performance, use indexes ==>Traversal Metrics Step Count Traversers Time (ms) % Dur ============================================================================================================= JanusGraphStep([],[type.textContains(car)]) 10000 10000 1640.758 95.02 \_condition=(type textContains car) \_isFitted=false \_query=[] \_orders=[] \_isOrdered=true optimization 3.493 scan 0.000 \_condition=VERTEX \_query=[] \_fullscan=true PropertyMapStep(value) 10000 10000 85.950 4.98 >TOTAL - - 1726.709 - With Index, No Cache: gremlin> g.V().has('type',textContains('car')).valueMap().profile() ==>Traversal Metrics Step Count Traversers Time (ms) % Dur ============================================================================================================= JanusGraphStep([],[type.textContains(car)]) 10000 10000 910.588 35.06 \_condition=(type textContains car) \_isFitted=true \_query=[(type textContains car)]:typeIndex \_index=typeIndex \_orders=[] \_isOrdered=true \_index_impl=search optimization 6.669 backend-query 0.000 \_query=typeIndex:[(type textContains car)]:typeIndex backend-query 0.000 \_query=typeIndex:[(type textContains car)]:typeIndex backend-query 0.000 \_query=typeIndex:[(type textContains car)]:typeIndex backend-query 10000 700.633 \_query=typeIndex:[(type textContains car)]:typeIndex PropertyMapStep(value) 10000 10000 1686.415 64.94 >TOTAL - - 2597.003 - On Friday, September 22, 2017 at 10:26:46 AM UTC-4, Suny wrote:
|
|
Re: ES with JG
Suny <sahithiy...@...>
The index is enabled in ES. I verified the same query g.V().has('type', The initial hit tool 46000ms and later ones tool 600-750ms. For the second query - g.V().has('type', The initial hit tool 129826ms and later ones took 550 - 700ms gremlin> :> g.V().has('type',textContains('site')).valueMap().profile() ==>Traversal Metrics Step Count Traversers Time (ms) % Dur ============================================================================================================= JanusGraphStep([],[type.textContains(site)]) 1186 1186 17.913 0.03 optimization 0.203 backend-query 1186 5.714 PropertyMapStep(value) 1186 1186 64199.498 99.97 >TOTAL - - 64217.412 - On Friday, September 22, 2017 at 10:17:23 AM UTC-4, Robert Dale wrote:
|
|
Re: Using ES for traversal queries ?
Suny <sahithiy...@...>
I defined timestamp as a string. Here is how i created those final PropertyKey myTimestamp = mgmt.makePropertyKey("timestamp").dataType(String.class).make(); EdgeLabel connectedTo = mgmt.getOrCreateEdgeLabel("connected_to"); mgmt.buildEdgeIndex(connectedTo, "forAllEdgesOnTimestamp", Direction.BOTH, myTimestamp); On Friday, September 22, 2017 at 10:18:46 AM UTC-4, Jason Plurad wrote:
|
|
Re: janusgraph solr cassandra GraphOfTheGodsFactory
Jason Plurad <plu...@...>
Solr 4.3 is not a supported indexing backend. http://docs.janusgraph.org/latest/version-compat.html On Friday, September 22, 2017 at 10:17:48 AM UTC-4, Ankur Goel wrote:
|
|
Re: Using ES for traversal queries ?
Jason Plurad <plu...@...>
How did you define the 'timestamp' property and the vertex-centric index that uses it? Seems strange to me that you're looking for has('timestamp, '') rather than comparing Long values. On Friday, September 22, 2017 at 10:12:44 AM UTC-4, Suny wrote:
|
|
Re: janusgraph solr cassandra GraphOfTheGodsFactory
Ankur Goel <ankur...@...>
Yes i am able to see core using Solr UI. i have created core by adding directory in core folder and updating solr.xml. Just to update i am using solr 4.3. ~AnkurG On Fri, Sep 22, 2017 at 7:39 PM, Jason Plurad <plu...@...> wrote:
|
|
Re: ES with JG
Robert Dale <rob...@...>
How much time is 'slow'?. Are your indexes actually enabled? What is the byte size of the results? Have you ruled out resource issues - cpu, ram, disk, network? What does `g.V().has('type',textContains('site')).valueMap().profile()` show? Robert Dale On Fri, Sep 22, 2017 at 10:10 AM, Suny <sahithiy...@...> wrote:
|
|
Re: Using ES for traversal queries ?
Suny <sahithiy...@...>
yes. the first time i query it took 129826 ms, and then 600-700 ms later on (which i believe is because of caching). Without that it is taking around 128000ms On Friday, September 22, 2017 at 10:10:57 AM UTC-4, Jason Plurad wrote:
|
|
Re: Using ES for traversal queries ?
Jason Plurad <plu...@...>
is this slow? g.V().has('type',textContains('car')).inE().has('timestamp',eq('')).inV().id() On Friday, September 22, 2017 at 10:07:26 AM UTC-4, Suny wrote:
|
|
Re: ES with JG
Suny <sahithiy...@...>
values are of small size. like strings of length 20. On Friday, September 22, 2017 at 10:03:34 AM UTC-4, Suny wrote:
|
|
Re: janusgraph solr cassandra GraphOfTheGodsFactory
Jason Plurad <plu...@...>
That error indicates the core isn't available. Did you create it with
Are you able to see the core in the Solr UI? http://localhost:8983/solr/#/~cores/janusSolr Were you able to get Graph of the Gods example working with mixed indexes? On Friday, September 22, 2017 at 9:26:35 AM UTC-4, Ankur Goel wrote:
|
|
Re: Using ES for traversal queries ?
Suny <sahithiy...@...>
Thanks. I am dealing with count here. I need the attributes list on those vertices. g.V().has('type',textContains( g.V().has('type',textContains( On Friday, September 22, 2017 at 8:54:54 AM UTC-4, Jason Plurad wrote:
|
|
Re: ES with JG
Suny <sahithiy...@...>
Each vertex has 3-5 attributes on it. On Friday, September 22, 2017 at 9:02:15 AM UTC-4, Jason Plurad wrote:
|
|
Custom type Kryo serializers
simone...@...
I'm running a JanusGraph 0.1 and I need to set a custom class as attribute type.
I defined the following Janus serializer
and then added the references in the janus-cassandra-es.properties file (I already defined the serializers for arrays and linkedmaps)
Restarting the graph I was able to create new attributes of type MyClass using the console and I was able to perform some queries, too (ex. order by and filter)
Problems came out performing query from my app (trying both gremlin driver and java GVL). I wrote the Kyro serializer, too
then I specified it in my gremlin-server.yaml
Running the same query (the one sorting the nodes by attr4) using the driver, the gremlin-server log reported that the new class is not registered.
Am I missing some configuration? |
|
PageRank on Large Graph
Joe Obernberger <joseph.o...@...>
Hi All - I've been experimenting with SparkGraphComputer, and have it working, but I'm having performance issues. What is the best way to run PageRank against a very large graph stored inside of JanusGraph?
Thank you! -Joe |
|