1. Will a restructuring like this cause problems for your projects?
Yes, but minor. Should be a simple search and replace to upgrade.

2. Do you think this change will result in a positive overall effect for
Neo4j?
Perhaps. You're pushing for more use of the terms 'graph' and 'graph
database', and I can see the marketing value in that.

3. Do these positive effects outweigh any potential problems the change
causes?
Hard to say. Can swing either way.

Reading the wiki page, I noticed a question regarding the rdf package names,
and a suggestion to add .api and .impl packages. I can answer this with my
opinion, which I doubt you will agree with, but I'll add it here so at least
it is said.

If you had the freedom to make the change, I think that the API packages
should have simple package names without the .api extension, and
implementations should live in the impl packages. I think this goes even for
the core api, which would be at org.neo4j.graphdb with the default
implementations at org.neo4j.graphdb.impl (alternatively
org.neo4j.graphdb.internal, since you explicitly state it is not of interest
to users). If you had such a scheme, the location of implementations is much
more flexible. You do not need to make the decision about the RDF package
names now, and when you do split them, they still conform to the global
naming strategy.

That was my 2 cents. You are welcome to ignore it :-)

On Wed, Jan 6, 2010 at 9:28 PM, Tobias Ivarsson <
tobias.ivars...@neotechnology.com> wrote:

> 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
>
_______________________________________________
Neo mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to