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