RDF资源管理器v1.0.0
概述
一种模型上下文协议(MCP)服务器,为在本地文件模式或SPARQL端点模式下探索和分析基于RDF(Turtle)的知识图提供会话接口。该服务器促进了AI应用程序(主机/客户端)和RDF数据之间的通信,通过SPARQL查询进行图探索和分析图数据。知识图谱研究和人工智能数据准备的完美工具。
组件
工具
服务器实现SPARQL查询和搜索功能:
execute_on_endpoint
- 直接在外部端点上执行SPARQL查询 - 输入: - endpoint (str):要查询的SPARQL端点URL。 - query (str):要执行的SPARQL查询。 - ctx (上下文):FastMCP上下文对象。 - 返回:以换行符分隔的字符串或错误消息的形式查询结果。
sparql_query
- 在当前图形或活动外部端点上执行SPARQL查询 - 输入: - query (str):要执行的SPARQL查询。 - ctx (上下文):FastMCP上下文对象。 - use_service (bool):是否在本地模式下对联合查询使用SERVICE子句(默认值:True)。 - 返回:以换行符分隔的字符串或错误消息的形式查询结果。
graph_stats
- 计算并返回JSON格式的图形统计数据 - 输入: - ctx (上下文):FastMCP上下文对象。 - 返回:包含图形统计信息的JSON字符串(例如,三重计数、唯一主题)。
count_triples
- 计算图表中的三元组。在SPARQL端点模式下禁用;请改用自定义提示。 - 输入: - ctx (上下文):FastMCP上下文对象。 - 返回:字符串形式的三元组数,或错误消息。
full_text_search
- 对图形或端点执行全文搜索,避免使用专有语法。 - 输入: - search_term (str):要搜索的术语。 - ctx (上下文):FastMCP上下文对象。 - 返回:以换行符分隔的字符串或错误消息的形式搜索结果。
health_check
- 检查三元组存储连接的运行状况。 - 输入: - ctx (上下文):FastMCP上下文对象。 - 返回:如果连接良好,则返回“健康”,返回“不健康: “否则。
get_mode
- 获取RDF Explorer的当前模式。可用于知识图谱和语义技术用户验证数据源。 - 输入: - ctx (上下文):FastMCP上下文对象。 - 返回:指示模式和数据集或端点的消息。
资源
服务器公开以下资源:
schema://all:从图中检索模式信息(类和属性)。
- 返回:以换行符分隔的模式元素(类和属性)字符串。
queries://{template_name}:按名称检索预定义的SPARQL查询模板。
- 返回:SPARQL查询字符串或“找不到模板”。
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桌面上安装
开始之前,请确保 克劳德桌面 已安装。
- 转到:设置>开发人员>编辑配置
- 将以下内容添加到您的
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"]
}
}
}- 重新启动Claude Desktop并开始查询和探索图形数据。
- 提示:“RDF资源管理器正在以何种模式运行?”
使用示例
以下是如何使用自然语言探索RDF数据的示例:
在本地文件模式下查询数据
你可以问这样的问题:
- “显示销售部门的所有员工”
- “查找前5位最老客户”
- “谁在上个月购买了3件以上的产品?”
- “列出所有实体”
- “使用DBpedia端点,列出迈克尔·杰克逊的10首歌曲”
- “使用维基数据端点,列出5个城市”
- “数三”
- “分析图形结构”
- “选择…”
- 搜索“{text}”
- “查找“{URI}”的关系”
- “RDF资源管理器运行的模式是什么?”
在SPARQL端点模式下查询数据
你可以问这样的问题:
- “使用DBpedia端点,列出迈克尔·杰克逊的10首歌曲”
- “使用维基数据端点,列出5个城市”
- “选择…”
- 搜索“{text}”
- “查找“{URI}”的关系”
- “RDF资源管理器运行的模式是什么?”
发展
# 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许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅 许可证 项目存储库中的文件。
