Skip to main content
Glama
nrwoodpsh
by nrwoodpsh

py-ontology-server-starter

Стартовый шаблон онтологического сервера знаний — семантический слой FastAPI + триплетное хранилище Apache Jena Fuseki, потребители — и REST, и MCP.

Объявляйте объектно-центричную онтологию в стиле Palantir (Object Type / Property / Link Type) в коде, а хранение и запросы выполняйте по стандартам W3C (RDF / SPARQL 1.1). Прикладной код использует только стандарт SPARQL, поэтому даже при замене хранилища на GraphDB и т. п. приложение останется прежним.

┌─ 소비자 ──────────────────────────────┐
│  AI 에이전트(MCP)      앱·사람(REST)   │
└──────────┬───────────────┬───────────┘
           │               │
   mcp_server.py       api/rest.py      ← 이중 어댑터
           └───────┬───────┘
            ontology/ + store/           ← 코어: 온톨로지 정의 + SPARQL 클라이언트
                   │
        Apache Jena Fuseki (docker)      ← 저장·SPARQL·추론
                   ▲
             ingest/ 파이프라인           ← 지식원 → RDF 변환·적재

Быстрый старт

# 1. 트리플스토어 기동
docker compose up -d fuseki          # http://localhost:3030 (admin / admin)

# 2. 앱 설치
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"

# 3. 샘플 데이터 적재 (CSV → RDF → Fuseki)
python -m ontology_server.ingest.example_csv data/sample/organizations.csv \
  --object-type organization --push

# 4. REST 서버 기동
uvicorn ontology_server.main:app --reload
# → http://localhost:8000/docs
curl localhost:8000/objects/organization

Related MCP server: mcp-ubergraph-query

MCP-адаптер (для ИИ-агентов)

Запускается через stdio-транспорт. В .mcp.json проекта Claude Code:

{
  "mcpServers": {
    "ontology": {
      "command": "/절대경로/.venv/bin/python",
      "args": ["-m", "ontology_server.mcp_server"]
    }
  }
}

Предоставляемые инструменты: list_object_types(ознакомление со схемой) · search_objects(просмотр экземпляров по типу) · sparql_query(прямой запрос только для чтения).

Замена на свою предметную область

  1. Замените src/ontology_server/ontology/sample.py на онтологию вашей предметной области — достаточно изменить объявления Object Type·Link Type, и REST, MCP и конструктор запросов подстроятся автоматически.

  2. Добавьте в src/ontology_server/ingest/ модули сбора для каждого источника знаний (см. example_csv.py).

  3. Если требуется внешняя интеграция и соответствие стандартам, задайте пространства имён в виде реальной URI-схемы и сопровождайте документ схемы OWL.

Тестирование

pytest                       # 단위 테스트 (Fuseki 불필요)
RUN_INTEGRATION=1 pytest     # Fuseki 기동 상태에서 통합 테스트 포함

Состав

Путь

Роль

ontology/model.py

Фреймворк для определения Object/Link Type (в стиле Palantir)

ontology/sample.py

Пример онтологии — файл, заменяемый в проекте

store/sparql.py

Клиент SPARQL 1.1 (точка замены хранилища)

api/rest.py

REST-адаптер

mcp_server.py

MCP-адаптер

ingest/

Конвейер сбора из источников знаний → RDF

docker-compose.yml

Запуск Fuseki

Лицензия

MIT

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    A Model Context Protocol server that provides read-only access to Ontotext GraphDB, enabling LLMs to explore RDF graphs and execute SPARQL queries.
    2
    11
    16
    GPL 3.0
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to query the Ubergraph biomedical ontology SPARQL endpoint with tools for custom SPARQL queries, term lookup, search, and hierarchy traversal.
    4
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to interact with ontologies through the Ontology Access Kit, providing ontology querying and management capabilities.
    5
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nrwoodpsh/py-ontology-server-starter'

If you have feedback or need assistance with the MCP directory API, please join our Discord server