Any suggestions on this please ?
It is really acting as a blocker for me. I have tried multiple alternatives,
but I come up with one issue or the other.


On Wed, Jun 22, 2011 at 8:51 PM, V <vlin...@gmail.com> wrote:

> I am confused, elements is defined as
>
> @RelatedTo(type = "ELEMENT", elementClass = Element.class, direction =
> OUTGOING)
>     private Set<Element> elements;
>
> if I call getElements() without persisting the node first, will it not
> return null ?
>
> It is throwing null pointer exception.
>
> When I persist the node before calling getElements, then it returns empty
> set. This is in line with my original email.
>
> Do you want me to do something else? Please let me know
>
>
>
>
> On Wed, Jun 22, 2011 at 8:39 PM, Michael Hunger <
> michael.hun...@neotechnology.com> wrote:
>
>> getElements() returns a set of your elements. If you do an add(element) on
>> those then you build up an in-memory structure.
>>
>> So if you use just the getters and setters of your instances you can
>> navigate this structure, but you can't use any of the graph operations
>> supplied by neo4j (remember it is still just in memory)
>>
>> Cheers
>>
>> Michael
>>
>> Am 22.06.2011 um 17:06 schrieb V:
>>
>> Michael -
>>
>> In my quest for a cleaner solution , I am coming back to your original
>> reply
>>
>> What do you mean by *"Right now this works only with the
>> getElements().add method."*
>> Please elaborate .
>>
>> Thanks for your help .
>>
>>
>> On Sun, Jun 19, 2011 at 2:34 AM, Michael Hunger <
>> michael.hun...@neotechnology.com> wrote:
>>
>>> Right now this works only with the getElements().add method.
>>>
>>> But then you don't get all the graph methods (traversals and such).
>>>
>>> We discussed some time ago writing a virtual graph layer on top of the
>>> real nodes and relationships for SDG.
>>> (That should be then used to have a simpler handling of attached/detached
>>> nodes and keeping back-references for cluster-persistance).
>>>
>>>
>>> But that hasn't happend yet and I'm not convinced it will make it in the
>>> 1.1. timeframe.
>>>
>>> Cheers
>>>
>>> Michael
>>>
>>> P.S. You can still persist your graph and remove the nodes later (either
>>> index them on a "transient" index or keep their node-id's somewhere).
>>>
>>>
>>> Am 18.06.2011 um 03:40 schrieb V:
>>>
>>> Any suggestions on this please ?
>>>
>>>
>>> On Fri, Jun 17, 2011 at 11:03 PM, V <vlin...@gmail.com> wrote:
>>>
>>>> I created a graph model with 2 classes Node and Element as follows:
>>>>
>>>> public class Node {
>>>>
>>>>  @RelatedTo(type = "ELEMENT", elementClass = Element.class, direction =
>>>> OUTGOING)
>>>>     private Set<Element> Element;
>>>>
>>>>
>>>>     public void addElement(Element e) {
>>>>         relateTo(e, Relationships.ELEMENT.toString());
>>>>     }
>>>>
>>>> }
>>>>
>>>> public class Element{
>>>>
>>>>    public String name;
>>>>
>>>> }
>>>> I want to create an in memory graph structure without persisting the
>>>> nodes as follows :
>>>>
>>>> Node n = new Node();
>>>> n.addElement(new Element());
>>>>
>>>> *However it throws an exception as the Node n has not been persisted so
>>>> the call to relateTo(..) fails. *
>>>>
>>>> If instead I do
>>>> n.persist()
>>>> and then call addElement(..) it works fine as the aspect kicks in.
>>>>
>>>> Any workaround for this ?  That is, is there a way I can still use the
>>>> above style without persisting the Node object ?
>>>>
>>>>
>>>> My application needs this as first I create a structure and persist it,
>>>> and then I create another structure to pass around some values to the
>>>> persisted structure when doing some computations.
>>>>
>>>> -Karan
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
_______________________________________________
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to