Hi,

I don't want to bother anyone but could you provide us with further
information about this ?
Cheers,

Pablo Pareja

On Wed, Mar 2, 2011 at 6:32 PM, José Devezas <[email protected]>wrote:

> Hello,
>
> I'd also like to know more about this. I want to keep an edge weight
> representing how many times A links to B, instead of using multiple edges
> (which is what I'm currently doing). My work is based on the Blueprints
> implementation of Neo4j, so would I need to index relationships with, for
> instance, an attribute "edgeId" set to something like "nodeA->nodeB"?
> Iterating through all the edges in a node until we find the right one is an
> alternative, but doesn't seem good performance-wise.
>
> So, the question is, during a batch insertion where we want to increment an
> edge attribute, what would be the best way to do it? Indexing relationships?
>
> On Wed, Mar 2, 2011 at 10:35 AM, Pablo Pareja <[email protected]> wrote:
>
>> On Wed, Mar 2, 2011 at 11:00 AM, Mattias Persson
>> <[email protected]>wrote:
>>
>> > 2011/3/2 Pablo Pareja <[email protected]>:
>> > > Hi!
>> > >
>> > > I just checked the wiki looking for information on how to index
>> > > relationships in batch insertion mode but
>> > > didn't find anything so far.
>> > > This can be found in the wiki regarding relationship indexing:
>> > >
>> > > RelationshipIndex friendships = graphDb.index().forRelationships(
>> > > "friendships" );
>> > > // "type" isn't a reserved key and isn't indexed automatically
>> > > Relationship relationship = friendships.get( "type", "knows",
>> morpheus,
>> > > trinity ).getSingle();
>> > >
>> > > However I cannot find any code snippet for adding relationships to the
>> > > index, not just querying it.
>> > > How can these two different cases (*batch insertion and standard
>> mode*)
>> > be
>> > > carried out?
>> >
>> > It's just like adding to a node index. a RelationshipIndex extends
>> > Index<Relationship> so adding to a RelationshipIndex is:
>> >
>> >  RelationshipIndex relIndex = ...
>> >  relIndex.add( myRelationship, "key", "value" );
>> >
>> > I'll add it to the wiki as well.
>> >
>>
>> Thanks ;)
>>
>> Just one more question about this, what if you want to index a
>> relationship
>> not by any property but only by
>> the nodes involved?
>> I've seen than once the relationship has been indexed, you can query the
>> index with start/end node parameters; but
>> how can I index it in the case where I only care about these nodes and not
>> any key-value pair?
>>
>> >
>> > >
>> > > Besides that, I was wondering how node relationships retrieval is
>> > > implemented.
>> > > In my domain model I have some nodes which have hundred of thousands
>> of
>> > > relationships, including different types of them.
>> > >
>> > > Suppose you are already situated on one of these nodes and you want to
>> > get
>> > > only one specific type of incoming relationships,
>> > > retrieval time would be dependent on how many relationships are there
>> > > including other types?
>> > > or once you specify the relationship type in the
>> > node.getRelationships(...)
>> > > method it doesn't matter how many relationships are there
>> > > of other types in terms of relationship retrieval time?
>> >
>> > I'd really like to answer: "it doesn't matter". But currently it
>> > does... there are two phases here: one where the relationships aren't
>> > cached in memory yet (or have fallen out of memory to make room for
>> > loading other relationships). Then loading relationships, whether a
>> > specific type or all is linear to how many relationships there are on
>> > that node.
>> >
>> > The other is when the node is fully cached with all its relationships
>> > and you get relationships of a specific type(s). Then it won't matter
>> > how many relationships there are other then for the given type(s).
>> > Direction for those relationships is filtered when you get them, but I
>> > think soon the cache layer will also optimize on direction so that not
>> > even filtering will be required when getting relationships of a
>> > specific type and direction.
>> >
>> > There are some thoughts about also making the storing/loading of
>> > relationships type-and-direction-aware so that the number of
>> > relationships (outside of your given type/direction) really won't
>> > matter. Will probably be a while before such a thing even has a chance
>> > to make it in though.
>> >
>> >
>> Ok, that's actually what I thought after running some test-cases; however
>> I
>> somehow was hoping it
>> wouldn't be that way and what happened was just that I was doing something
>> wrong.
>> This means then that at least in my case I'll have to index a fairly big
>> amount of relationships in order
>> to achieve decent retrieval times for highly connected nodes. Any
>> advice/suggestion for tunning performance in
>> these cases apart from relationship indexation?
>>
>> Cheers,
>>
>> Pablo
>>
>>
>> > >
>> > > Thanks in advance,
>> > >
>> > > Pablo
>> > >
>> > > --
>> > > Pablo Pareja Tobes
>> > > LinkedIn    http://www.linkedin.com/in/pabloparejatobes
>> > > Twitter       http://www.twitter.com/pablopareja
>> > >
>> > > http://about.me/pablopareja
>> > > http://www.ohnosequences.com
>> > > _______________________________________________
>> > > Neo4j mailing list
>> > > [email protected]
>> > > https://lists.neo4j.org/mailman/listinfo/user
>> > >
>> >
>> >
>> >
>> > --
>> > Mattias Persson, [[email protected]]
>> > Hacker, Neo Technology
>> > www.neotechnology.com
>> > _______________________________________________
>> > Neo4j mailing list
>> > [email protected]
>> > https://lists.neo4j.org/mailman/listinfo/user
>> >
>>
>>
>>
>> --
>> Pablo Pareja Tobes
>> LinkedIn    http://www.linkedin.com/in/pabloparejatobes
>> Twitter       http://www.twitter.com/pablopareja
>>
>> http://about.me/pablopareja
>> http://www.ohnosequences.com
>> _______________________________________________
>> Neo4j mailing list
>> [email protected]
>> https://lists.neo4j.org/mailman/listinfo/user
>>
>
>
>
> --
> José Luís Devezas
> Labs SAPO/UP
> http://labs.sapo.pt/up
>
>


-- 
Pablo Pareja Tobes
LinkedIn    http://www.linkedin.com/in/pabloparejatobes
Twitter       http://www.twitter.com/pablopareja

http://about.me/pablopareja
http://www.ohnosequences.com
_______________________________________________
Neo4j mailing list
[email protected]
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to