Hi Alexandra,

Well, you're right that the reference node doesn't have any special
properties or behaviors, except that it is the only node you can always get
without knowing anything else about it.  It's a common enough graphing
pattern that it seems more convenient to have it by default. Either it gets
used and can't be deleted (until the relationships have been deleted), or it
gets ignored and can safely be deleted.

On the pragmatic scale between convenience and correctness, the reference
node admittedly leans towards convenience. It is only a little special,
convenient enough to have, but not special enough to prevent deletion.

/Andreas

2010/9/5 Alexandru Popescu ☀ <[email protected]>

> On Sun, Sep 5, 2010 at 1:00 PM, Anders Nawroth <[email protected]>
> wrote:
> > Hi!
> >
> > Just chiming in on entry points / reference node.
> >
> > 2010-09-03 14:28, Alexandru Popescu ☀ skrev:
> >> This is a very important aspect as I can imagine many systems that can
> >> use a small subset of the existing nodes as entry points. Basically by
> >> using the cached IDs you'll be able to get to these without the need
> >> of using indexing/traversals.
> >
> > This is typically where you should use the reference node: create a
> > relationship with a specific relationship type (like
> > "customers_entry_point") from the reference node to the entry point node
> > (also known as a subreference node). Then there's no need to store the
> > IDs somewhere else. BTW us the
> > Node.getSingleRelationship(RelationshipType, Direction) for this
> > purpose! See:
> >
> http://api.neo4j.org/current/org/neo4j/graphdb/Node.html#getSingleRelationship(org.neo4j.graphdb.RelationshipType
> ,
> > org.neo4j.graphdb.Direction)
> >
> > There's also a utility method for using subreference nodes in the utils
> > component:
> >
> http://components.neo4j.org/neo4j-utils/apidocs/org/neo4j/util/GraphDatabaseUtil.html#getOrCreateSubReferenceNode(org.neo4j.graphdb.RelationshipType)
> >
> > /anders
>
> Anders,
>
> That's indeed a nice idea and pretty close to what I've been planning
> to use it for.
>
> But we are digressing from the initial question: is it or is it not a
> special node?
>
> If it is a special node, then do not allow me to delete it. If it is
> not, then do not create it by default.
>
> :- alex
> _______________________________________________
> 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