Hi Mahesh I'm not a big fan of using *super*. I'm happy to admit that's probably a failing on my part but I find the syntax confusing and certainly not in line with "readability counts"! On top of that, I've not been able to get it working for *Node* inheritance anyway...
So, you can use this notation instead: from py2neo import Node > > class User(Node): > > def __init__(self, user_id, username, name=""): > assert isinstance(user_id, int) and isinstance(username, str) > Node.__init__(self, "User", user_id=user_id, > username=username,name=name) > > def name(self): > return self["name"] > > def user_id(self): > return self["user_id"] > > def username(self): > return self["username"] > This will call the *Node* constructor directly and should work! Cheers Nigel On 5 February 2015 at 02:09, Mahesh Lal <[email protected]> wrote: > Hi, > > I started using Py2neo recently. I like the simplicity of the Node class, > but considering I wanted to wrap more domain object specific functionality > around the Node object, I decided to inherit it. > > So here is what my class looks like: > > from py2neo import Node > > class User(Node): > > def __init__(self, user_id, username, name = ""): > assert isinstance(user_id, int) and isinstance(username, str) > > super().__init__("User", user_id = user_id, username= username, > name= name) > > > def name(self): > return self["name"] > > def user_id(self): > return self["user_id"] > > def username(self): > return self["username"] > > I create the node using graph.create > > graph.create(User(user_id=12734, username="maheshkl", name="Mahesh Lal")) > > I get the following output: > > (<User graph='http://localhost:7474/db/data/' ref='node/1' *labels={'User', > <class 'super'>}* properties={'user_id': 12734, 'username': 'maheshkl', > 'name': 'Mahesh Lal'}>,) > The weird bit is the *labels. *How is it getting the *<class 'super'> * > label? > > Apologies if this seems like a stupid question that any python programmer > should know, but I am confused by this behaviour. > > I doesnt seem to happen when I compose the Node object within the User > object. > > > -- Thanks and Regards > Mahesh Lal > > -- You received this message because you are subscribed to the Google Groups "Neo4j" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
