zoukankan      html  css  js  c++  java
  • py2neo详细介绍第一章

    1.1 节点和关系的对象

    官网的例子,创建两个节点,并为两个节点创建关系。

    from py2neo.data import Node, Relationship
    a = Node("Person", name="Alice")
    b = Node("Person", name="Bob")
    ab = Relationship(a, "KNOWS", b)
    print(ab)
    # 结果为 (Alice)-[:KNOWS {}]->(Bob)
    

    可以知道创建两个标签为"Person"的节点,并且设置属性name,两个节点的关系为"KNOWS"。

    接下来是节点的一些操作:

    print(a==b)
    # 结果为False
    print(a!=b)
    # 结果为True
    print(a['name'])
    print(a['age'])
    # 结果为 Alice和None 直接获取属性值,没有的话则是返回None
    a['age']=16
    # 则是为a添加新的属性'age',并赋值为16
    

    1.2 子图Subgraph对象

    模仿官网的例子:

    from py2neo.data import Node, Relationship
    a = Node("Person", name="Alice")
    b = Node("Person", name="Bob")
    c=Node("Person",name='Jack')
    ab = Relationship(a, "KNOWS", b)
    ac=Relationship(a,'WORKWITH',c)
    
    s=ab | ac
    for i in s.nodes:
    	print(i)
    # 结果为:   (:Person {name: 'Alice'})
    			(:Person {name: 'Bob'})
    			(:Person {name: 'Jack'})
    # '|'符号是进行合并的意思,把ab和ac的关系以及节点合并在一起。
    for j in s.relationships:
    	print(j)
    # 结果为:
    		(Alice)-[:WORKWITH {}]->(Jack)
    		(Alice)-[:KNOWS {}]->(Bob)
    # '&'符号的意思是合并,取相交的部分
    s=ab & ac
    for j in s.nodes:
    	print(j)
    # 结果为 (:Person {name: 'Alice'})
    
    # '-'符号为取两者不同的部分
    s=ab - ac
    for j in s.nodes:
    	print(j)
    # 结果为 (:Person {name: 'Bob'})
    		(:Person {name: 'Alice'})
    

    1.3 路径Path对象和可遍历Walkable类型##

    w = ab + Relationship(b, "LIKES", c) + ac
    print(w)
    # (Alice)-[:KNOWS]->(Bob)-[:LIKES]->(Carol)<-[:WORKS_WITH]-(Alice)
    

    博主开通了微信公众号 “python做些事” 会定期更新python和AI知识,关注之后python技能直线上升

  • 相关阅读:
    依赖注入和控制反转概念及目的(新手必读)
    电商秒杀系统可能遇到的坑及思路
    Java中的ReentrantLock和synchronized两种锁定机制的对比
    Java集合---HashMap源码剖析
    Java中的字符串常量池
    redhat7:用户、组和权限
    redhat7下对用户账户的管理
    通过Tacker将NFV引入OpenStack
    github中的一个快捷键
    关于
  • 原文地址:https://www.cnblogs.com/qiujichu/p/13032254.html
Copyright © 2011-2022 走看看