Jeroen,

that would indeed help a lot. 
I'll find it.

Michael

Am 07.11.2011 um 12:34 schrieb Jeroen van Dijk:

> Hi Michael,
> 
> I would like to provide a better example, but my Groovy is quite poor so it
> I'll take me some time. However I think the problem isn't in the JSON
> conversion. Because that would mean the results I get would be the same,
> but with a different score right? The thing is that I get different
> Vertices back through the REST interface than I do locally. To me that
> means things already fail during the Gremlin evaluation.
> 
> I will try to come up with a more isolated example. If it helps I could
> give you access to my dataset on Heroku (or through a Zip file).
> 
> thanks,
> Jeroen
> 
> On Mon, Nov 7, 2011 at 11:34 AM, Michael Hunger <
> michael.hun...@neotechnology.com> wrote:
> 
>> Jeroen,
>> 
>> can you narrow it down to a simpler operation, like just a division?
>> 
>> Perhaps in the conversion from the division result (be it Float, Double,
>> BigDecimal) to
>> JSON something goes awry.
>> 
>> In the GremlinPlugin the code for that is:
>> 
>> } else if (result instanceof Double || result instanceof Float) {
>>           return ValueRepresentation.number(((Number)
>> result).doubleValue());
>> }
>> 
>> I'm not sure what datatype groovy creates as result of your operation,
>> perhaps you can determine that as well.
>> 
>> If we have a simple gremlin / groovy calculation that yields the wrong
>> results, we can easily inspect and fix the plugin.
>> 
>> Thanks a lot
>> 
>> Michael
>> 
>> Am 07.11.2011 um 11:12 schrieb Jeroen van Dijk:
>> 
>>> Hi all,
>>> 
>>> I'm using Gremlin to perform a recommendation query. Locally in the
>> gremlin
>>> shell I get amazingly useful results. However when I use the webadmin
>>> gremlin console I get different results, both locally and in the Heroku
>>> addon environment. I get the same wrong results when I use the rest
>>> interface, so I assume something is incorrect in the Gremlin REST
>>> interface. In all these cases the data is the same or on the same
>> database.
>>> 
>>> The gremlin query is below (it is own of my first so probably not the
>> most
>>> efficient). It returns the top 10 list of most similar items according to
>>> the Jaccard similarity index (= (Intersection(A, B) / Union(A, B) ):
>>> 
>>> node = g.v(14260); m = [:].withDefault{0.0}; a_total =
>> node.inE().count();
>>> node.in().out('owns').sideEffect{union = a_total +
>>> it.inE().count()}.groupCount(m) { it }{ it += (1/(union)) } >> -1;
>>> m.sort{a,b -> b.value <=> a.value}[0..9]
>>> 
>>> When I do the following locally everything is fine:
>>> 
>>>   gremlin> g = new
>>> Neo4jGraph('/usr/local/Cellar/neo4j/community-1.4/libexec/data/graph.db')
>>>   ==>neo4jgraph[EmbeddedGraphDatabase
>>> [/usr/local/Cellar/neo4j/community-1.4/libexec/data/graph.db]]
>>>   gremlin> node = g.v(14260); m = [:].withDefault{0.0}; a_total =
>>> node.inE().count(); node.in().out('owns').sideEffect{union = a_total +
>>> it.inE().count()}.groupCount(m) { it }{ it += (1/(union)) } >> -1;
>>> m.sort{a,b -> b.value <=> a.value}[0..9]
>>>   ==>v[14260]=0.5000000013
>>>   ==>v[12974]=0.1014492752
>>>   ==>v[12349]=0.0952380952
>>>   ==>v[12082]=0.0833333332
>>>   ==>v[15434]=0.0810810810
>>>   ==>v[11237]=0.0810810810
>>>   ==>v[17672]=0.0769230768
>>>   ==>v[18338]=0.0769230768
>>>   ==>v[12852]=0.0769230768
>>>   ==>v[11969]=0.075
>>>   gremlin>
>>> 
>>> However when I repeat this using the webadmin console interface I get the
>>> following results:
>>> 
>>>   gremlin> node = g.v(14260); m = [:].withDefault{0.0}; a_total =
>>> node.inE().count(); node.in().out('owns').sideEffect{union = a_total +
>>> it.inE().count()}.groupCount(m) { it }{ it += (1/(union)) } >> -1;
>>> m.sort{a,b -> b.value <=> a.value}[0..9]
>>>   ==> v[14260]=31.0
>>>   ==> v[9204]=30.0
>>>   ==> v[8958]=29.0
>>>   ==> v[15763]=22.0
>>>   ==> v[13906]=22.0
>>>   ==> v[18477]=21.0
>>>   ==> v[9081]=20.0
>>>   ==> v[9019]=19.0
>>>   ==> v[9074]=18.0
>>>   ==> v[9066]=18.0
>>> 
>>> The values of a Jaccard Index should never be above 1 so something is
>>> clearly wrong. Any ideas?
>>> 
>>> Thanks,
>>> Jeroen
>>> _______________________________________________
>>> Neo4j mailing list
>>> User@lists.neo4j.org
>>> https://lists.neo4j.org/mailman/listinfo/user
>> 
>> _______________________________________________
>> Neo4j mailing list
>> User@lists.neo4j.org
>> https://lists.neo4j.org/mailman/listinfo/user
>> 
> _______________________________________________
> Neo4j mailing list
> User@lists.neo4j.org
> https://lists.neo4j.org/mailman/listinfo/user

_______________________________________________
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to