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 <cr...@amanzi.com> 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
> <pd_aficion...@hotmail.com>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: peter.neuba...@neotechnology.com
>>> Date: Wed, 29 Jun 2011 21:10:15 +0200
>>> To: user@lists.neo4j.org
>>> 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
>>> <pd_aficion...@hotmail.com> 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: cr...@amanzi.com
>>>>> To: user@lists.neo4j.org
>>>>> 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
>>>>> <pd_aficion...@hotmail.com>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: sxk1...@hotmail.com
>>>>>>> To: user@lists.neo4j.org
>>>>>>> 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: pd_aficion...@hotmail.com
>>>>>>>> To: user@lists.neo4j.org
>>>>>>>> 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: cr...@amanzi.com
>>>>>>>>> To: user@lists.neo4j.org
>>>>>>>>> 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 <
>>>>>> sxk1...@hotmail.com>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 <
>>>>>> pd_aficion...@hotmail.com>
>>>>>>>>>> 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
>>>>>>>>>>> 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
>>>>>>> 
>>>>>>> _______________________________________________
>>>>>>> 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
>>>> 
>>> _______________________________________________
>>> 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

Reply via email to