修改密码

请输入密码
请输入密码 请输入8-64长度密码 和 email 地址不相同 至少包括数字、大写字母、小写字母、半角符号中的 3 个
请输入密码
提交

修改昵称

当前昵称:
提交

申请证书

证书详情

Please complete this required field.

  • Ultipa Graph V4

Standalone

Please complete this required field.

Please complete this required field.

服务器的MAC地址

Please complete this required field.

Please complete this required field.

取消
申请
ID
产品
状态
核数
申请天数
审批时间
过期时间
MAC地址
申请理由
审核信息
关闭
基础信息
  • 用户昵称:
  • 手机号:
  • 公司名称:
  • 公司邮箱:
  • 地区:
  • 语言:
修改密码
申请证书

当前未申请证书.

申请证书
Certificate Issued at Valid until Serial No. File
Serial No. Valid until File

Not having one? Apply now! >>>

ProductName CreateTime ID Price File
ProductName CreateTime ID Price File

No Invoice

v5.0
搜索
    v5.0

      找点

      概述

      使用语句find().nodes()可以从当前图集获取符合过滤条件的点。

      语法

      find().nodes(<filter?>)
      
      • 语句别名:类型为NODE;默认名称为nodes
      • 方法:
      方法
      参数
      描述
      别名类型
      nodes() <filter?> 将过滤条件包裹在{}中,或使用别名指定待获取的点。留空时会作用在所有点上 N/A

      示例图集

      在一个空图集中,逐行运行以下语句,创建示例图集:

      create().node_schema("User").node_schema("Club").edge_schema("Follows").edge_schema("Joins")
      create().node_property(@User, "name").node_property(@Club, "name").edge_property(@Follows, "time", datetime).edge_property(@Joins, "memberNo", uint32).edge_property(@Joins, "time", datetime)
      insert().into(@User).nodes([{_id:"U01", name:"Rowlock"},{_id:"U02", name:"Brainy"},{_id:"U03", name:"purplechalk"},{_id:"U04", name:"mochaeach"},{_id:"U05", name:"lionbower"}])
      insert().into(@Club).nodes([{_id:"C01", name:"Rowlock Tennis"},{_id:"C02", name:"Super Yacht"}])
      insert().into(@Follows).edges([{_from:"U01", _to:"U02", time:"2024-1-5"},{_from:"U02", _to:"U03", time:"2024-2-1"},{_from:"U04", _to:"U02", time:"2024-2-10"},{_from:"U03", _to:"U05", time:"2024-5-3"}])
      insert().into(@Joins).edges([{_from:"U02", _to:"C01", memberNo:1, time:"2023-12-14"},{_from:"U05", _to:"C01", memberNo:2, time:"2024-2-25"},{_from:"U04", _to:"C02", memberNo:9, time:"2024-6-15"}])
      

      找所有点

      获取所有点:

      find().nodes() as n
      return n{*}
      

      结果:n

      _id _uuid schema
      values
      U05 Sys-gen User {name: "lionbower"}
      U04 Sys-gen User {name: "mochaeach"}
      U03 Sys-gen User {name: "purplechalk"}
      U02 Sys-gen User {name: "Brainy"}
      U01 Sys-gen User {name: "Rowlock"}
      C02 Sys-gen Club {name: "Super Yacht"}
      C01 Sys-gen Club {name: "Rowlock Tennis"}

      根据schema找点

      获取schema为Club的点:

      find().nodes({@Club}) as n
      return n{*}
      

      结果:n

      _id _uuid schema
      values
      C02 Sys-gen Club {name: "Super Yacht"}
      C01 Sys-gen Club {name: "Rowlock Tennis"}

      获取schema为ClubUser的点:

      find().nodes({@Club || @User}) as n
      return n{*}
      

      结果:n

      _id _uuid schema
      values
      U05 Sys-gen User {name: "lionbower"}
      U04 Sys-gen User {name: "mochaeach"}
      U03 Sys-gen User {name: "purplechalk"}
      U02 Sys-gen User {name: "Brainy"}
      U01 Sys-gen User {name: "Rowlock"}
      C02 Sys-gen Club {name: "Super Yacht"}
      C01 Sys-gen Club {name: "Rowlock Tennis"}

      根据属性找点

      在过滤条件中,属性可与schema共同使用,也可独立使用。独立使用时,适用于所有具备该属性的点,而不论其schema。特别注意,系统属性_id_uuid是唯一标识符,所以无法与schema共同使用(如@User._id)。

      获取@Username属性为Rowlock的点:

      find().nodes({@User.name == "Rowlock"}) as n
      return n._id
      

      结果:

      n._id
      U01

      获取name属性包含Rowlock的点:

      find().nodes({name contains "Rowlock"}) as n
      return n._id
      

      结果:

      n._id
      C01
      U01

      获取_id为U01或U02的点:

      find().nodes({_id in ["U01", "U02"]}) as n
      return n{*}
      

      结果:n

      _id _uuid schema
      values
      U02 Sys-gen User {name: "Brainy"}
      U01 Sys-gen User {name: "Rowlock"}

      使用默认别名

      find().nodes()语句中,可使用默认别名nodes,无需显式声明。

      获取所有点并返回其name(同时默认返回schema和系统属性):

      find().nodes()
      return nodes{name}
      

      结果:nodes

      _id _uuid schema name
      U05 Sys-gen User lionbower
      U04 Sys-gen User mochaeach
      U03 Sys-gen User purplechalk
      U02 Sys-gen User Brainy
      U01 Sys-gen User Rowlock
      C02 Sys-gen Club Super Yacht
      C01 Sys-gen Club Rowlock Tennis

      限制点数量

      紧跟在find().nodes()语句之后使用LIMIT语句,可以限制传递给后续语句的点数。

      获取任意3个@User点:

      find().nodes({@User}) as user limit 3
      return user.name
      

      结果:

      user.name
      mochaeach
      Brainy
      Rowlock

      使用前缀OPTIONAL

      在此查询中,find().nodes()语句会执行三次,每次使用ID中的一条记录。使用前缀OPTIONAL后,如果执行过程中未找到结果,查询将返回null

      uncollect ["U01", "U22", "C01"] as ID
      optional find().nodes({_id == ID}) as n
      return n.name
      

      结果:

      n.name
      Rowlock
      null
      Rowlock Tennis

      如果不使用前缀OPTIONAL,只会返回两条记录:

      uncollect ["U01", "U22", "C01"] as ID
      find().nodes({_id == ID}) as n
      return n.name
      

      结果:

      n.name
      Rowlock
      Rowlock Tennis
      请完成以下信息后可下载此书
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写
      *
      你的电话必须填写