Hi Ramesh,
> We have enterprise edition of Neo4j, though is it a performance hit using rest api?
The REST API uses a HTTP connection and a textual protocol. The Core API and friends are in-process calls, that's why the REST API is generally slower. However using the REST API means you have flexibility in deployment and choice of platforms from which you can call Neo4j.
When using Cypher, the difference is less pronounced.
> What is the difference between community version of neo4j server and enterprise edition of neo4j server?
There are two important aspects to this: licensing and functionality.
1. Licensing: Neo4j Community edition is licensed under GPL, while Enterprise is licensed under AGPL. If either license is not appropriate for you, then you should contact Neo Technology about a commercial license.
2. Functionality: Enterprise adds the ability to take online backups and create high availability clusters. It also has a more predictable, performant internal cache implementation. Otherwise there is no difference in functionality: Neo4j community is a totally functional, unlimited to use database too.
> May I know that the in terms of java vs Python which technology give better performance to communicating with neo4j db?
That depends on how you choose to use it. If you use a JVM language, you can bind to the Neo4j Java APIs and avoid network penalties. However, the Cypher query language is fast becoming the preferred "API" for Neo4j and that can be used from whatever platform you choose.
In the general case, when I'm building a system with Neo4j I would use the language that makes me most productive and then use whatever drivers/APIs are available on that stack to communicate with the database.
Hope that helps,
Jim