M

MCP-RDF Explorer 知识图谱探索者

@emekaokoye/mcp-rdf-explorer
0 Stars 65 次浏览 emekaokoye 更新于 2026-08-23

模型上下文协议(MCP)服务器为以本地文件模式或SPARQL端点探索和分析RDF龟语法知识图提供了对话式接口。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "rdf_explorer": {
      "args": [
        "C:\\path\\to\\server.py",
        "--sparql-endpoint",
        "https://example.com/sparql"
      ],
      "command": "C:\\path\\to\\venv\\Scripts\\python.exe"
    }
  }
}

服务介绍

RDF Explorer v1.0.0

概述

这是一个 Model Context Protocol (MCP) 服务器,提供了一个对话界面,用于在本地文件模式或 SPARQL 端点模式下探索和分析基于 RDF(Turtle)的知识图谱。该服务器促进了 AI 应用程序(主机/客户端)与 RDF 数据之间的通信,通过 SPARQL 查询来探索图数据和分析图数据。它是一个完美的工具,适用于知识图谱研究和 AI 数据准备。

组件

工具

服务器实现了 SPARQL 查询和搜索功能:

  • execute_on_endpoint

    • 直接在一个外部端点上执行 SPARQL 查询
    • 输入:
      • endpoint (str): 要查询的 SPARQL 端点 URL。
      • query (str): 要执行的 SPARQL 查询。
      • ctx (Context): FastMCP 上下文对象。
    • 返回:查询结果以换行符分隔的字符串,或者错误消息。
  • sparql_query

    • 在当前图或活动的外部端点上执行 SPARQL 查询
    • 输入:
      • query (str): 要执行的 SPARQL 查询。
      • ctx (Context): FastMCP 上下文对象。
      • use_service (bool): 在本地模式下是否使用 SERVICE 子句进行联合查询(默认值:True)。
    • 返回:查询结果以换行符分隔的字符串,或者错误消息。
  • graph_stats

    • 计算并返回关于图的统计数据,格式为 JSON
    • 输入:
      • ctx (Context): FastMCP 上下文对象。
    • 返回:包含图统计数据(例如三元组数量、唯一主题)的 JSON 字符串。
  • count_triples

    • 计算图中的三元组数量。在 SPARQL 端点模式下禁用;请改用自定义提示。
    • 输入:
      • ctx (Context): FastMCP 上下文对象。
    • 返回:三元组的数量作为字符串,或者错误消息。
  • full_text_search

    • 对图或端点执行全文搜索,避免专有语法。
    • 输入:
      • search_term (str): 要搜索的术语。
      • ctx (Context): FastMCP 上下文对象。
    • 返回:搜索结果以换行符分隔的字符串,或者错误消息。
  • health_check

    • 检查三元组存储连接的健康状况。
    • 输入:
      • ctx (Context): FastMCP 上下文对象。
    • 返回:如果连接良好则返回 'Healthy',否则返回 'Unhealthy: '。
  • get_mode

    • 获取 RDF Explorer 的当前模式。对于知识图谱和语义技术用户来说,这有助于验证数据源。
    • 输入:
      • ctx (Context): FastMCP 上下文对象。
    • 返回:指示模式和数据集或端点的消息。

资源

服务器公开了以下资源:

  • schema://all: 从图中检索模式信息(类和属性)。

    • 返回:以换行符分隔的模式元素(类和属性)字符串。
  • queries://{template_name}: 按名称检索预定义的SPARQL查询模板。

    • 返回:SPARQL查询字符串或'Template not found'。
  • explore://{query_name}: 按名称执行探索性SPARQL查询并以JSON格式返回结果。

    • query_name (str): 探索性查询的名称(例如,'classes', 'relationships/URI')。
    • 返回:查询结果的JSON字符串。
  • explore://report: 生成探索性查询的Markdown报告。

    • 返回:Markdown格式的报告字符串。

提示

服务器公开以下提示:

  • analyze_graph_structure: 使用模式数据启动图结构分析。

    • 返回:指导图结构分析的消息列表。
  • find_relationships: 生成一个SPARQL查询,以查找给定主体的关系。

    • 返回:用于查找关系的SPARQL查询字符串。
  • text_to_sparql: 将文本提示转换为SPARQL查询并执行它,并检查令牌限制。

    • prompt (str): 要转换为SPARQL的文本提示。
    • 返回:带有使用统计信息的查询结果,或错误消息。

设置

配置

在Claude Desktop上安装

开始之前,请确保已安装Claude Desktop

  1. 进入:设置 > 开发者 > 编辑配置

  2. 向您的claude_desktop_config.json添加以下内容:
    在MacOS上:~/Library/Application Support/Claude/claude_desktop_config.json
    在Windows上:%APPDATA%/Claude/claude_desktop_config.json

要与本地RDF Turtle文件一起使用,请使用此版本并加上--triple-file参数

{
  "mcpServers": {
    "rdf_explorer": {
      "command": "C:\\path\\to\\venv\\Scripts\\python.exe",
      "args": ["C:\\path\\to\\server.py", "--triple-file", "your_file.ttl"]
    }
  }
}

要与SPARQL端点一起使用,请使用此版本并加上--sparql-endpoint参数

{
  "mcpServers": {
    "rdf_explorer": {
      "command": "C:\\path\\to\\venv\\Scripts\\python.exe",
      "args": ["C:\\path\\to\\server.py", "--sparql-endpoint", "https://example.com/sparql"]
    }
  }
}
  1. 重启Claude Desktop并开始查询和探索图数据。

  2. 提示:“RDF Explorer运行在哪种模式下?”

使用示例

以下是您可以如何使用自然语言探索RDF数据的一些示例:

在本地文件模式下查询数据

您可以提出如下问题:

  • “显示销售部门的所有员工”
  • “找出最老的5位客户”
  • “谁在过去一个月内购买了超过3件产品?”
  • “列出所有实体”
  • “使用DBpedia端点,列出Michael Jackson的10首歌曲”
  • “使用Wikidata端点,列出5个城市”
  • “计数三元组”
  • “分析图结构”
  • “选择...”
  • “搜索'{text}'”
  • “查找'{URI}'的关系”
  • “RDF Explorer运行在哪种模式下?”

在SPARQL端点模式下查询数据

您可以提出如下问题:

  • “使用DBpedia端点,列出Michael Jackson的10首歌曲”
  • “使用Wikidata端点,列出5个城市”
  • “选择...”
  • “搜索'{text}'”
  • “查找'{URI}'的关系”
  • “RDF Explorer运行在哪种模式下?”

开发

# clone the repository
git clone https://github.com/emekaokoye/mcp-rdf-explorer.git
cd mcp-rdf-explorer

# setup a virtual environment
python -m venv venv
source venv/bin/activate
# windows: venv\Scripts\activate

# install development dependencies
pip install -r requirements.txt

# run tests
pytest test_rdf_explorer.py -v

许可证

此MCP服务器依据MIT许可证发布。这意味着您可以根据MIT许可证的条款和条件自由地使用、修改和分发该软件。更多详情,请参阅项目仓库中的许可证文件。