Raphtory GraphQL Schema Explorer

Raphtory GraphQL Schema Explorer

🚀 Raphtory GraphQL Schema Explorer 中文文档

该 Python 模块提供了一个 FastMCP 服务器,可通过一组 HTTP 资源公开 Raphtory 图表的 GraphQL 模式信息。借助该模块,大语言模型(LLM)能够探索并理解图表的结构,涵盖节点属性和关系类型等方面。

✨ 主要特性

1. 图表模式查询

  • 可查询特定图表名称的模式。
  • 能获取节点属性的详细信息。
  • 可获取唯一的关系类型及其元数据。
  • 支持可选包含属性变体。

2. 资源

schema://database

返回数据库的完整 GraphQL 模式,具体包含:

  • 所有可用类型。
  • 每个类型的字段。
  • 字段描述。
  • 参数及其默认值。

schema://graph_exists/{graph_name}

通过检查节点的存在来验证特定图表是否存在于数据库中。

schema://{graph_name}/{include_variants}

返回特定图表的详细模式信息:

  • 节点属性
    • 属性键。
    • 属性类型(例如:"Str")。
    • 可选属性变体。
  • 关系
    • 唯一关系类型(例如:"edge_type_1"、"edge_type_2"、"edge_type_3")。

3. 实现细节

该模块采用了以下技术和策略:

  • 依赖运行中的 Raphtory GraphQL 服务器(需要提前启动)。
  • 使用 httpx 进行异步 HTTP 请求,支持 HTTP/2 协议。
  • 借助 FastMCP 管理资源。
  • 利用全局异步客户端建立持久连接。
  • 通过上下文管理确保资源的正确清理。

💻 使用示例

基础用法

查询图表模式:

{
graph(path: "your_graph_name") {
schema {
nodes {
properties {
key
propertyType
}
}
}
edges {
list {
properties {
keys
values {
value
}
}
}
}
}
}

响应格式

模式响应包含如下值:

{
"data": {
"graph": {
"schema": {
"nodes": [{
"properties": [
{"key": "name", "propertyType": "Str"},
{"key": "type", "propertyType": "Str"}
// ... 其他属性
]
}]
},
"relationships": [
"edge_type_1",
"edge_type_2",
"edge_type_3"
]
}
}
}

📚 详细文档

错误处理

该模块具备完善的错误处理机制,可应对以下情况:

  • 不存在的图表。
  • 无效查询。
  • 连接问题。
  • 响应格式错误。

依赖项

  • FastMCP
  • httpx
  • Python 3.x
  • 运行中的 Raphtory GraphQL 端点(默认:http://localhost:1736/)

配置

该模块使用默认配置:

  • 启用 HTTP/2。
  • 超时时间为 10 秒。
  • Content-Type 为 application/json。

此外,还可以通过环境变量添加其他配置,例如身份验证。

  • 0 关注
  • 0 收藏,19 浏览
  • system 提出于 2025-09-24 03:30

相似服务问题

相关AI产品