Files
boc/projects/landvex/README.md
T
Bernt 7d40cf95bf landvex: IOL v3 + Identify API + Neo4j-graf + byggpipeline
- FastAPI Identify API (port 8081)
- Neo4j propertygraf (64 noder, 80 kanter)
- Ingest-pipeline (Python)
- Byggscript + integrationstester
- Docker Compose setup
2026-07-05 05:55:48 +00:00

2.8 KiB

Landvex Infrastructure Object Library (IOL)

Kunskapsgraf över visuellt identifierbar fysisk infrastruktur. Grafen är produkten. Allt annat — appar, API:er, dashboards — är gränssnitt mot grafen.

Struktur

projects/landvex/
├── 00-styrning/          # Validering, verifiering
├── 10-data/              # Master-data (JSON)
│   ├── lvx-klassposter-master-v3.json
│   ├── lvx-produktmodeller-*.json
│   ├── lvx-graf-kanter-v3.json
│   └── lvx-id-register.json
├── 20-automation/        # Ingest-pipeline
│   ├── ingest.py
│   └── intag/            # Kandidatposter per våg
├── 30-produkt/           # API-spec, demosvar
├── 40-strategi/          # Genome-strategi, IOL-spec
├── api/                  # FastAPI Identify-API
├── db/                   # Neo4j-laddning
├── scripts/              # Export, bygghjälp
├── arkiv/                # Ersatta versioner
└── build.sh              # Master byggscript

Snabbstart

# Bygg & kör allt
./build.sh

# Endast API (förutsätter Neo4j)
docker compose up -d api

# Endast data-export
python3 scripts/export_csv.py
python3 db/load_to_neo4j.py

API

Endpoint Beskrivning
GET /health Status + antal poster/kanter
POST /v0/identify Bild → rankade kandidater
GET /v0/objects/{lvx_id} Komplett post
GET /v0/objects/{lvx_id}/succession Ersättningskedja
GET /v0/search?q=... Fritextsök
GET /v0/standards/{b}/objects Standard → objekt
POST /v0/feedback Fel/okänt → bounty

Data

  • 64 noder (37 klasser + 27 modeller)
  • 176 kanter (80 LVX-upplösta, 82 standard, 14 textnoder)
  • 9 domäner: TRP, ELN, VAT, TEL, BYG, PRK, JVG, HMN, FLG
  • Verifieringsnivåer: obekräftad → källbelagd → fältverifierad → tillverkarbekräftad

Arkitektur

Ingest Pipeline          API Layer           Graph DB
─────────────────────────────────────────────────────────
Kandidatposter  →  resolve/merge  →  Neo4j (propertygraf)
     ↓                ↓                ↓
Extraktion  →  Identify API  →  Query/Search
     ↓                ↓                ↓
Zoomer-bounties  ←  Feedback  ←  Succession

Regler

  1. Fakta bär alltid källa — inga påståenden utan proveniens
  2. Landvex-ID är permanent — namn ändras, ID aldrig
  3. Konfidens exponeras alltid — kunden ser aldrig osäkert som sanning
  4. Problem utan källa filtreras bort — vid API-serialisering

Dokument