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
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
# 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)
|
||||
Reference in New Issue
Block a user