You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按日期查询公司股东并从Shareholder关系计算持股百分比

基于Cypher查询指定日期公司股东及持股百分比

需求说明

现有两种节点:Person(个人)、Company(公司);存在SHAREHOLDER(股东)关系,支持Person→Company或Company→Company的指向;关系包含属性shareholding_start_date(持股起始日期)、shareholding_end_date(持股结束日期)、number_of_shares(持股数量)。需通过公司名称+指定日期,查询该日期当天持有目标公司股份的所有股东(个人/公司),并计算持股百分比。

解决方案

以下是两种输出格式的Cypher查询语句,可根据需求选择:

1. 结构化表格输出

适合后续数据处理,清晰展示每个股东的持股占比:

MATCH (shareholder)-[rel:SHAREHOLDER]->(company:Company)
WHERE company.name = $companyName 
  AND rel.shareholding_start_date <= $targetDate 
  AND rel.shareholding_end_date >= $targetDate
WITH 
  shareholder, 
  rel.number_of_shares AS shares, 
  SUM(rel.number_of_shares) OVER () AS totalShares
WITH 
  shareholder, 
  shares, 
  totalShares,
  // 处理总股数为0的极端情况,避免除以0报错
  CASE 
    WHEN totalShares = 0 THEN 0 
    ELSE ROUND((shares * 100.0) / totalShares, 2) 
  END AS percentage
RETURN 
  // 统一输出股东名称(Person和Company节点均需包含name属性)
  CASE 
    WHEN shareholder:Person THEN shareholder.name 
    ELSE shareholder.name 
  END AS 股东名称,
  percentage AS 持股百分比
ORDER BY percentage DESC

2. 字符串聚合输出

符合示例要求的ABC 15%, DEF 25%, GHI 60%格式:

MATCH (shareholder)-[rel:SHAREHOLDER]->(company:Company)
WHERE company.name = $companyName 
  AND rel.shareholding_start_date <= $targetDate 
  AND rel.shareholding_end_date >= $targetDate
WITH 
  shareholder, 
  rel.number_of_shares AS shares, 
  SUM(rel.number_of_shares) OVER () AS totalShares
WITH 
  CASE 
    WHEN shareholder:Person THEN shareholder.name 
    ELSE shareholder.name 
  END AS 股东名称,
  CASE 
    WHEN totalShares = 0 THEN 0 
    ELSE ROUND((shares * 100.0) / totalShares, 2) 
  END AS percentage
WITH COLLECT(股东名称 + " " + percentage + "%") AS 股东条目
RETURN STRING_AGG(股东条目, ", ") AS 查询结果

关键说明

  • 替换查询中的$companyName和$targetDate为实际参数,例如$companyName = "XYZ"、$targetDate = "2022-03-15"
  • 确保数据库中日期格式与参数一致(推荐使用YYYY-MM-DD字符串或Neo4j日期类型)
  • 节点标签、关系类型需与数据库实际定义完全匹配(例如关系类型若为小写shareholder,需同步修改查询语句)

内容的提问来源于stack exchange,提问作者Programmer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 00:13:06