Great... Looking forward to your contributions. Once the port is done, we can 
look at making improvements.

> From: [email protected]
> Date: Wed, 29 Jun 2011 16:34:39 -0700
> To: [email protected]
> Subject: Re: [Neo4j] neo4j-graph-collections
> 
> I'm definitely interested and will contact you soon to follow up.
> 
> Sent from my iPhone
> 
> On Jun 29, 2011, at 4:17 PM, Craig Taverner <[email protected]> wrote:
> 
> > I think moving the RTree to the generic collections would not be too hard. I
> > saw Saikat showed interested in doing this himself.
> > 
> > Saikat, contact me off-list for further details on what I think could be
> > done to make this port.
> > 
> > On Wed, Jun 29, 2011 at 9:52 PM, Niels Hoogeveen
> > <[email protected]>wrote:
> > 
> >> 
> >> Peter, I totally agree. Having the Rtree index removed of spatial
> >> dependencies in graph-collections should be our first priority. Once that 
> >> is
> >> done we can focus on the other issues.
> >> Which doesn't mean we should stop discussing future improvements like
> >> setting up comparators (or something to that extent) that can be reusable,
> >> but we shouldn't try to get that up before Rtree is in graph-collections.
> >> Niels
> >> 
> >>> From: [email protected]
> >>> Date: Wed, 29 Jun 2011 21:10:15 +0200
> >>> To: [email protected]
> >>> Subject: Re: [Neo4j] neo4j-graph-collections
> >>> 
> >>> Craig,
> >>> just gave you push access to the graph collections in case you want to
> >>> do anything there.
> >>> 
> >>> Also, IMHO it would be more important to isolate and split out the
> >>> RTree component from Spatial than to optimize it - that could be done
> >>> in the new place with targeted performance tests later?
> >>> 
> >>> Cheers,
> >>> 
> >>> /peter neubauer
> >>> 
> >>> GTalk:      neubauer.peter
> >>> Skype       peter.neubauer
> >>> Phone       +46 704 106975
> >>> LinkedIn   http://www.linkedin.com/in/neubauer
> >>> Twitter      http://twitter.com/peterneubauer
> >>> 
> >>> http://www.neo4j.org               - Your high performance graph
> >> database.
> >>> http://startupbootcamp.org/    - Ă–resund - Innovation happens HERE.
> >>> http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.
> >>> 
> >>> 
> >>> 
> >>> On Wed, Jun 29, 2011 at 4:19 PM, Niels Hoogeveen
> >>> <[email protected]> wrote:
> >>>> 
> >>>> Craig,
> >>>> Would it be possible to merge your work on Amanzi with the work the Neo
> >> team has done on the Btree component that is now in 
> >> neo4j-graph-collections,
> >> so we can eventually have one implementation that meets a broad variety of
> >> needs?
> >>>> Niels
> >>>> 
> >>>>> Date: Wed, 29 Jun 2011 15:34:47 +0200
> >>>>> From: [email protected]
> >>>>> To: [email protected]
> >>>>> Subject: Re: [Neo4j] neo4j-graph-collections
> >>>>> 
> >>>>> I have previously used two solutions to deal with multiple types in
> >> btrees:
> >>>>> 
> >>>>>   - My first index in 2009 was a btree-like n-dim index using
> >> generics to
> >>>>>   support int[], long[], float[] and double[] (no strings). I used
> >> this for
> >>>>>   TimeLine (long[1]) and Location (double[2]). The knowledge about
> >> what type
> >>>>>   was used was in the code for constructing the index (whether a new
> >> index or
> >>>>>   accessing an existing index in the graph).
> >>>>>   - In December I started my amanzi-index (on
> >>>>> github<https://github.com/craigtaverner/amanzi-index>)
> >>>>>   that is also btree-like, n-dimensional. But this time it can index
> >> multiple
> >>>>>   types in the same tree (so a float, int and string in the same
> >> tree, instead
> >>>>>   of being forced to have all properties of the same type). It is a
> >> re-write
> >>>>>   of the previous index to support Strings, and mixed types. This
> >> time it does
> >>>>>   save the type information in meta-data at the tree root.
> >>>>> 
> >>>>> The idea of using a 'comparator' class for the types is similar, but
> >> simpler
> >>>>> than the idea I implemented for amanzi-index, where I have mapper
> >> classes
> >>>>> that describe not only how to compare types, but also how to map from
> >> values
> >>>>> to index keys and back. This includes (to some extent) the concept of
> >> the
> >>>>> lucene analyser, since the mapper can decide on custom distribution
> >> of, for
> >>>>> example, strings and category indexes.
> >>>>> 
> >>>>> For both of these indexes, you configure the index up front, and then
> >> only
> >>>>> call index.add(node) to index a node. This will fit in well with the
> >> new
> >>>>> auto-indexing ideas in neo4j.
> >>>>> 
> >>>>> On Wed, Jun 29, 2011 at 2:25 PM, Niels Hoogeveen
> >>>>> <[email protected]>wrote:
> >>>>> 
> >>>>>> 
> >>>>>> 
> >>>>>> 
> >>>>>> 
> >>>>>> 
> >>>>>> At this moment Btree only supports the primitive datatype long,
> >> while Rtree
> >>>>>> only supports the datatype double. For Btree it makes sense to at
> >> least
> >>>>>> support strings, floats, doubles and ints too. Use cases for these
> >> data
> >>>>>> types are pretty obvious and are Btree backed in (almost) every
> >> RDBMS
> >>>>>> product around.I think the best solution would be to create
> >> Comparator
> >>>>>> objects wrapping these primitive data types and store the class name
> >> of the
> >>>>>> comparator in root of the index tree. This allows users to create
> >> their own
> >>>>>> comparators for datatypes not covered yet. It would make sense
> >> people would
> >>>>>> want to store BigInt and BigDecimal objects in a Btree too, others
> >> may want
> >>>>>> to store dates (instead of datetime), fractions, complex numbers or
> >> even
> >>>>>> more exotic data types.
> >>>>>> Niels
> >>>>>>> From: [email protected]
> >>>>>>> To: [email protected]
> >>>>>>> Date: Tue, 28 Jun 2011 22:43:24 -0700
> >>>>>>> Subject: Re: [Neo4j] neo4j-graph-collections
> >>>>>>> 
> >>>>>>> 
> >>>>>>> I've read through this thread in more detail and have a few
> >> thoughts,
> >>>>>> when you talk about type I am assuming that you are referring to an
> >>>>>> interface that both (Btree,Rtree) can implement, for the data types
> >> I'd like
> >>>>>> to understand the use cases first before implementing the different
> >> data
> >>>>>> types, maybe we could store types of Object instead of Long or
> >> Double and
> >>>>>> implement comparators in a more meaningful fashion.   Also I was
> >> wondering
> >>>>>> if unit tests would need to be extracted out of the spatial
> >> component and
> >>>>>> embedded inside the graph-collections component as well or whether
> >> we'd
> >>>>>> potentially need to write brand new unit tests as well.
> >>>>>>> Craig as I mentioned I'd love to help, let me know if it would be
> >>>>>> possible to fork a repo or to talk in more detail this week.
> >>>>>>> Regards
> >>>>>>> 
> >>>>>>>> From: [email protected]
> >>>>>>>> To: [email protected]
> >>>>>>>> Date: Wed, 29 Jun 2011 01:35:43 +0200
> >>>>>>>> Subject: Re: [Neo4j] neo4j-graph-collections
> >>>>>>>> 
> >>>>>>>> 
> >>>>>>>> As to the issue of n-dim doubles, it would be interesting to
> >> consider
> >>>>>> creating a set of classes of type Orderable (supporting <, <=, >, >=
> >>>>>> operations), this we can use in both Rtree and Btree. Right now
> >> Btree only
> >>>>>> supports datatype Long. This should also become more generic. A
> >> first step
> >>>>>> we can take is at least wrap the common datatypes in Orderable
> >> classes.
> >>>>>>>> Niels
> >>>>>>>> 
> >>>>>>>>> Date: Wed, 29 Jun 2011 00:32:15 +0200
> >>>>>>>>> From: [email protected]
> >>>>>>>>> To: [email protected]
> >>>>>>>>> Subject: Re: [Neo4j] neo4j-graph-collections
> >>>>>>>>> 
> >>>>>>>>> The RTree in principle should be generalizable, but the
> >> current
> >>>>>>>>> implementation in neo4j-spatial does make a few assumptions
> >> specific
> >>>>>> to
> >>>>>>>>> spatial data, and makes use of spatial envelopes for the tree
> >> node
> >>>>>> bounding
> >>>>>>>>> boxes. It is also specific to 2D. We could make a few
> >> improvements
> >>>>>> first,
> >>>>>>>>> like generalizing to n-dimensions, replacing the recursive
> >> search
> >>>>>> with a
> >>>>>>>>> traverser and generalizing the bounding boxes to be simple
> >>>>>> double-arrays.
> >>>>>>>>> Then the only thing left would be to decide if it is ok for it
> >> to be
> >>>>>> based
> >>>>>>>>> on n-dim doubles or should be generalized to more types.
> >>>>>>>>> 
> >>>>>>>>> On Tue, Jun 28, 2011 at 11:14 PM, Saikat Kanjilal <
> >>>>>> [email protected]>wrote:
> >>>>>>>>> 
> >>>>>>>>>> I would be interested in helping out with this, let me know
> >> next
> >>>>>> steps.
> >>>>>>>>>> 
> >>>>>>>>>> Sent from my iPhone
> >>>>>>>>>> 
> >>>>>>>>>> On Jun 28, 2011, at 8:49 AM, Niels Hoogeveen <
> >>>>>> [email protected]>
> >>>>>>>>>> wrote:
> >>>>>>>>>> 
> >>>>>>>>>>> 
> >>>>>>>>>>> A couple of weeks ago Peter Neubauer set up a repository
> >> for
> >>>>>> in-graph
> >>>>>>>>>> datastructures:
> >> https://github.com/peterneubauer/graph-collections
> >>>>>> .
> >>>>>>>>>>> At this time of writing only the Btree/Timeline index is
> >> part of
> >>>>>> this
> >>>>>>>>>> "component".
> >>>>>>>>>>> In my opinion it would be interesting to move the Rtree
> >> parts of
> >>>>>>>>>> neo-spatial to neo4j-graph-collections too.
> >>>>>>>>>>> I looked at the code but don't feel competent to seperate
> >> out
> >>>>>> those
> >>>>>>>>>> classes that support generic Rtrees from those classes that
> >> are
> >>>>>> clearly
> >>>>>>>>>> spatial related.
> >>>>>>>>>>> Is there any enthusiasm for such a project and if so, who
> >> is
> >>>>>> willing and
> >>>>>>>>>> able to do this?
> >>>>>>>>>>> Niels
> >>>>>>>>>>> 
> >>>>>>>>>>> 
> >>>>>>>>>>> 
> >>>>>>>>>>> _______________________________________________
> >>>>>>>>>>> Neo4j mailing list
> >>>>>>>>>>> [email protected]
> >>>>>>>>>>> https://lists.neo4j.org/mailman/listinfo/user
> >>>>>>>>>>> 
> >>>>>>>>>> _______________________________________________
> >>>>>>>>>> Neo4j mailing list
> >>>>>>>>>> [email protected]
> >>>>>>>>>> https://lists.neo4j.org/mailman/listinfo/user
> >>>>>>>>>> 
> >>>>>>>>> _______________________________________________
> >>>>>>>>> Neo4j mailing list
> >>>>>>>>> [email protected]
> >>>>>>>>> https://lists.neo4j.org/mailman/listinfo/user
> >>>>>>>> 
> >>>>>>>> _______________________________________________
> >>>>>>>> Neo4j mailing list
> >>>>>>>> [email protected]
> >>>>>>>> https://lists.neo4j.org/mailman/listinfo/user
> >>>>>>> 
> >>>>>>> _______________________________________________
> >>>>>>> Neo4j mailing list
> >>>>>>> [email protected]
> >>>>>>> https://lists.neo4j.org/mailman/listinfo/user
> >>>>>> 
> >>>>>> 
> >>>>>> _______________________________________________
> >>>>>> Neo4j mailing list
> >>>>>> [email protected]
> >>>>>> https://lists.neo4j.org/mailman/listinfo/user
> >>>>>> 
> >>>>> _______________________________________________
> >>>>> Neo4j mailing list
> >>>>> [email protected]
> >>>>> https://lists.neo4j.org/mailman/listinfo/user
> >>>> 
> >>>> _______________________________________________
> >>>> Neo4j mailing list
> >>>> [email protected]
> >>>> https://lists.neo4j.org/mailman/listinfo/user
> >>>> 
> >>> _______________________________________________
> >>> Neo4j mailing list
> >>> [email protected]
> >>> https://lists.neo4j.org/mailman/listinfo/user
> >> 
> >> _______________________________________________
> >> Neo4j mailing list
> >> [email protected]
> >> https://lists.neo4j.org/mailman/listinfo/user
> >> 
> > _______________________________________________
> > Neo4j mailing list
> > [email protected]
> > https://lists.neo4j.org/mailman/listinfo/user
> > 
> _______________________________________________
> Neo4j mailing list
> [email protected]
> https://lists.neo4j.org/mailman/listinfo/user
                                          
_______________________________________________
Neo4j mailing list
[email protected]
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to