Hi all!

For our upcoming final 1.0 release we are thinking about restructuring the
components and package names to make them at least closer to something we
would want to live with for a considerable future. The main affected
component at this point is the Neo4j kernel, even if other components would
follow later on as well.

What we would like to achieve with such a refactoring is a more consistent
naming scheme, and a more descriptive naming scheme. This means that we
would change the current core api (org.neo4j.api.core). Most of the
interfaces would remain the same, but the package name would change to
org.neo4j.graphdb.api. We would also change the name of the NeoService
interface to the more descriptive name GraphDatabaseService.

Since we have multiple components that implement the Neo4j Graph Database
API (the Neo4j kernel, the remote implementation, and the upcoming HA
system), we might at some point in the future extract the API to a separate
component that we would call graphdb-api. The current neo component would
thus be divided into two, graphdb-api and kernel. The class EmbeddedNeo
would be part of the kernel component and would (even before the division of
the components) be renamed to org.neo4j.kernel.api.EmbeddedGraphDatabase.

In order to mitigate the transition to the new api we would provide a
transitional component, lets call it retro to have a name to refer to it by.
This component would contain the org.neo4j.api.core package and an
implementation thereof as a facade for the new org.neo4j.graphdb.api package
with the org.neo4j.kernel.api.EmbeddedGraphDatabase implementation.

We have created a wiki page at
http://wiki.neo4j.org/content/Component_Naming where we outline the strategy
behind the naming structure, and list the renaming actions that would take
place if we go through with this.

Since this is a rather substantial change, we want to get your input first.
There are a few things we would like to know from you:

1. Will a restructuring like this cause problems for your projects?
2. Do you think this change will result in a positive overall effect for
Neo4j?
3. Do these positive effects outweigh any potential problems the change
causes?

If this goes well we plan to make similar refactorings to the index-util
component shortly after.

Cheers,
The Neo4j team through
-- 
Tobias Ivarsson <tobias.ivars...@neotechnology.com>
Hacker, Neo Technology
www.neotechnology.com
Cellphone: +46 706 534857
_______________________________________________
Neo mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to