Skip to main content
Glama
nrwoodpsh
by nrwoodpsh

py-ontology-server-starter

Ontologie-Wissensserver-Starter — FastAPI-Semantikschicht + Apache-Jena-Fuseki-Triplestore, für Konsumenten sowohl REST als auch MCP.

Eine Palantir-artige objektzentrierte Ontologie (Object Type / Property / Link Type) wird im Code deklariert, Speicherung und Abfrage erfolgen nach W3C-Standards (RDF / SPARQL 1.1). Da der Anwendungscode ausschließlich den SPARQL-Standard verwendet, bleibt die App unverändert, auch wenn der Datenspeicher z. B. durch GraphDB ersetzt wird.

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

Schnellstart

# 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-Adapter (für KI-Agenten)

Läuft über den stdio-Transport. In der .mcp.json des Claude-Code-Projekts:

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

Bereitgestellte Werkzeuge: list_object_types(Schema ermitteln) · search_objects(Instanzen nach Typ abfragen) · sparql_query(schreibgeschützte Direktabfrage).

An die eigene Domäne anpassen

  1. Ersetze src/ontology_server/ontology/sample.py durch die Domänen-Ontologie — wenn du nur die Deklarationen von Object Type und Link Type änderst, passen sich REST-, MCP- und Abfrage-Builder automatisch an.

  2. Füge in src/ontology_server/ingest/ pro Wissensquelle ein Erfassungsmodul hinzu (siehe example_csv.py).

  3. Wenn externe Anbindung und Standardkonformität erforderlich sind, lege die Namespaces als reales URI-Schema fest und pflege die OWL-Schema-Dokumente ebenfalls.

Tests

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

Aufbau

Pfad

Rolle

ontology/model.py

Framework zur Definition von Object/Link Type (Palantir-artig)

ontology/sample.py

Beispiel-Ontologie — die Datei, die im Projekt ersetzt wird

store/sparql.py

SPARQL-1.1-Client (Stelle, an der der Datenspeicher ersetzt werden kann)

api/rest.py

REST-Adapter

mcp_server.py

MCP-Adapter

ingest/

Erfassungspipeline von Wissensquellen → RDF

docker-compose.yml

Fuseki-Start

Lizenz

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