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

85 lines
2.8 KiB
Markdown

# 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
```bash
# 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
- [Genome-strategi](40-strategi/landvex-genome-strategi.md)
- [IOL-grundspec](40-strategi/iol-grundspecifikation.md)
- [API-spec](30-produkt/lvx-pilot-api-spec.md)