Thanks!

On 5/8/08, Mattias Persson <[EMAIL PROTECTED]> wrote:
> I fixed that bug... there will be a new SNAPSHOT of neo in an hour or two!
>
>  2008/5/8 Philip Jägenstedt <[EMAIL PROTECTED]>:
>
> > I've used this DynamicRelationType in my project, but there is
>  > something strange going on. Look at what I see in the neo shell:
>  >
>  > $ ls
>  > (me) --[INDEX_SERVICE]--> (1)
>  > (me) --[MUSICBRAINZ]--> (4)
>  > neo-sh (0)$ cd 4
>  > neo-sh (4)$ ls
>  > (me) --[ARTISTS]--> (5)
>  > (me) <--[MUSICBRAINZ]-- (0)
>  > neo-sh (4)$ cd 5
>  > neo-sh (5)$ ls
>  > (me) --[ARTIST]--> (6)
>  > (me) --[ARTIST]--> (16)
>  > (me) <--[ARTISTS]-- (4)
>  > neo-sh (5)$ cd 6
>  > neo-sh (6)$ ls
>  > *mbid     =[e83144dd-bb95-49fe-b1dd-00bab25cca9e]
>  > *name     =[Robert Miles]
>  > *sortName =[Miles, Robert]
>  > (me) --[Myspace]--> (15)
>  > (me) --[OfficialHomepage]--> (13)
>  > (me) --[Biography]--> (14)
>  > (me) --[Discogs]--> (11)
>  > (me) --[Wikipedia]--> (12)
>  > (me) <--[ARTIST]-- (5)
>  > neo-sh (6)$ cd 15
>  > neo-sh (15)$ ls
>  > *url =[http://www.myspace.com/robertmilesofficial]
>  > (me) <[EMAIL PROTECTED] (6)
>  >
>  > Look at that last line! The Myspace relationship is shown as
>  > "[EMAIL PROTECTED]" in the reverse
>  > direction. It looks like the name has been retrieved with toString()
>  > or similar instead of name() as per the interface. Has anyone else
>  > seen this?
>  >
>  > Philip
>  >
>  > On 5/5/08, Peter Haensgen <[EMAIL PROTECTED]> wrote:
>  >> Hi,
>  >>
>  >>  the "enum" approach has the disadvantage that the available relationship 
> types are static, e.g. they must be known at compile time. In some cases, 
> this may not be sufficient.
>  >>  Therefore I have built a "DynamicRelationType", which simply looks like 
> this:
>  >>
>  >>  public class DynamicRelationshipType implements RelationshipType
>  >>  {
>  >>     private static Map<String, RelationshipType> types = new 
> HashMap<String, RelationshipType>();
>  >>
>  >>     private String name;
>  >>
>  >>     private DynamicRelationshipType(String name)
>  >>     {
>  >>         this.name = name;
>  >>     }
>  >>
>  >>     public String name()
>  >>     {
>  >>         return name;
>  >>     }
>  >>
>  >>     public static synchronized RelationshipType 
> getRelationshipType(String name)
>  >>     {
>  >>         RelationshipType type = types.get(name);
>  >>         if (type == null)
>  >>         {
>  >>             type = new DynamicRelationshipType(name);
>  >>             types.put(name, type);
>  >>         }
>  >>
>  >>         return type;
>  >>     }
>  >>  }
>  >>
>  >>
>  >>  In the application code, you would use like this:
>  >>
>  >>  Node rn = neo.getReferenceNode();
>  >>  Node n = neo.createNode();
>  >>
>  >>  RelationshipType t1 = 
> DynamicRelationshipType.getRelationshipType("MyType");
>  >>  rn.createRelationshipTo(n, t1);
>  >>
>  >>
>  >>  Works fine for me!
>  >>
>  >>  FYI,
>  >>
>  >> Peter
>  >>
>  >>
>  >>
>  >>  > -----Original Message-----
>  >>  > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
>  >>  > On Behalf Of Philip Jägenstedt
>  >>  > Sent: Sonntag, 4. Mai 2008 00:08
>  >>  > To: Neo user discussions
>  >>  > Subject: [Neo] Does RelationshipType enum need to be unique?
>  >>  >
>  >>  > This question may reveal some ignorance on my side, but I'm going ahead
>  >>  > anyway.
>  >>  >
>  >>  > Is there anything which makes it a bad idea to have several different
>  >>  > enums implementing RelationshipType and using these for different
>  >>  > relationships in neo? The reason in my case is that some relationship
>  >>  > types are native to the model (the MusicBrainz model) and ought to
>  >>  > reside in org.musicbrainz.RelationTypes or similar, while other
>  >>  > relationships are specific to my application and not really related to
>  >>  > the model.
>  >>  >
>  >>  > The reason I ask is that I don't really understand what an enum is in
>  >>  > Java. If I have
>  >>  >
>  >>  >  enum MyRelationshipTypes implements RelationshipType
>  >>  >  {
>  >>  >      CONTAINED_IN, KNOWS
>  >>  >  }
>  >>  >
>  >>  > and then rename it to
>  >>  >
>  >>  >  enum MomsRelationshipTypes implements RelationshipType
>  >>  >  {
>  >>  >      CONTAINED_IN, KNOWS
>  >>  >  }
>  >>  >
>  >>  > will neo treat these as the same or new relationships?
>  >>  >
>  >>  > Philip
>  >>
>  >> > _______________________________________________
>  >>  > Neo mailing list
>  >>  > User@lists.neo4j.org
>  >>  > https://lists.neo4j.org/mailman/listinfo/user
>  >>  _______________________________________________
>  >>  Neo mailing list
>  >>  User@lists.neo4j.org
>  >>  https://lists.neo4j.org/mailman/listinfo/user
>  >>
>  > _______________________________________________
>  > Neo mailing list
>  > User@lists.neo4j.org
>  > https://lists.neo4j.org/mailman/listinfo/user
>  >
>
> _______________________________________________
>  Neo mailing list
>  User@lists.neo4j.org
>  https://lists.neo4j.org/mailman/listinfo/user
>
>
_______________________________________________
Neo mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to