py2neo 创建关系,修改或更改py2neo中的关系属性

Is there a way to change a relationship property once it has been set using py2neo or cypher? I'm creating an inventory tracker and once an item is "CHECKED_OUT" a property called "status" in the relationship is set to "True". Ideally, once the item is returned or checked in, I'd like to change the "status" property to "False". This way I can keep track of the item and prevent it from being checked out twice.

Here is my code for creating the relationship for a checkout transaction:

def check_out(self, barcode):

emp = self

item = barcode

id = str(uuid.uuid4())

timestamp = int(datetime.now().strftime("%s"))

date = datetime.now().strftime("%F")

status=True

rel = Relationship(emp, "CHECKED_OUT", item, id=id, timestamp=timestamp, date=date, status=status)

if not(graph.create_unique(rel)):

return True

else:

return False

I've read through the py2neo API and I can't seem to find the answer. If modifying the relationship is the wrong approach, can you offer a better one?

解决方案

Something along this line should work:

def check_in(self, barcode):

item = barcode

# get the relationship

for rel in graph.match(start_node=self, rel_type="CHECKED_OUT", end_node=item):

# set property

rel.properties["status"] = False

rel.push()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值