zoukankan      html  css  js  c++  java
  • [1] py2neo.data – Data Types

    py2neo.data – Data Types

    原文:https://py2neo.org/v5/data.html

    Py2neo提供了丰富的数据类型集,可用于基于图和基于记录的数据。图类型与Neo4j完全兼容,但也可以独立使用。它们包括基本的实体Node,并Relationship代表这些实体的集合以及类。

    图数据类已设计为可使用标准操作(尤其是集合操作)一起工作。这些操作的详细信息在Subgraph对象和Path对象以及其他Walkable类型的部分中进行介绍。

    1.1 Node和Relationship对象

    Neo4j使用的标记属性图模型的两个基本构建块是Node和Relationship。节点是图数据存储的基本单位。它可以包含一组键/值对(属性),并且可以选择用一个或多个文本标签进行装饰。关系是一对节点之间(或单个节点上的环)之间的有类型的定向连接。像节点一样,关系也可以包含一组属性。

    下面的代码显示了如何创建几个节点以及将它们连接起来的关系。每个节点都有一个属性,名称,并被标记为Person。该关系ab描述了从第一节点到第二节点的KNOWS连接

    >>> from py2neo.data import Node, Relationship
    >>> a = Node("Person", name="Alice")
    >>> b = Node("Person", name="Bob")
    >>> ab = Relationship(a, "KNOWS", b)
    >>> ab
    (Alice)-[:KNOWS]->(Bob)
    

    1.2 Subgraph对象

    A Subgraph是节点和关系的任意集合。根据定义,子图必须至少包含一个节点;空子图应以表示None。要测试是否为空,bool()可以使用内置功能。

    构造子图的最简单方法是使用标准集合操作将节点和关系组合在一起。例如:

    >>> s = ab | ac
    >>> s
    {(alice:Person {name:"Alice"}),
     (bob:Person {name:"Bob"}),
     (carol:Person {name:"Carol"}),
     (Alice)-[:KNOWS]->(Bob),
     (Alice)-[:WORKS_WITH]->(Carol)}
    >>> s.nodes()
    frozenset({(alice:Person {name:"Alice"}),
               (bob:Person {name:"Bob"}),
               (carol:Person {name:"Carol"})})
    >>> s.relationships()
    frozenset({(Alice)-[:KNOWS]->(Bob),
               (Alice)-[:WORKS_WITH]->(Carol)})
    

    1.3 Path对象和其他Walkable类型

    A Walkable是Subgraph具有附加遍历信息的A 构造可行走对象的最简单方法是连接其他图对象:

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

    通过使用该walk()函数可实现可行走对象的遍历,该函数产生交替的节点和关系,并且始终以节点开始和结束。任何节点或关系都可以在任何方向上遍历一次或多次。

    1.4 Record对象

    一个Record对象包含有序的键值集合。它在许多方面都类似于namedtuple,但是仅允许通过方括号语法访问字段并提供更多功能。 Record扩展了tuple和Mapping。

    1.5 Table对象

    A Table包含Record对象列表,通常作为Cypher查询的结果接收。它提供了一个方便的容器来完整地处理结果,并提供了转换为各种输出格式的方法。 Table扩展list。

  • 相关阅读:
    《贝叶斯优化: 一种更好的超参数调优方式》
    《从Google Visor到Microsoft NNI再到Advisor调参服务接口发展史》
    《归一化激活层的进化:谷歌Quoc Le等人利用AutoML 技术发现新型ML模块》
    《通用视觉 & NAS》
    《Object Detection-IOU Net笔记》
    《Detectron2之ROIAlign》
    《IoUNet(6)_源码_RoIAlign(1)》
    聊天机器人资源合集:项目,语聊,论文,教程。
    一个使用 Python 的人工智能聊天机器人框架
    【TensorFlow 官网 可以直接访问】让中国开发者更容易地使用TensorFlow打造人工智能应用
  • 原文地址:https://www.cnblogs.com/zyl007/p/13033931.html
Copyright © 2011-2022 走看看