7d40cf95bf
- FastAPI Identify API (port 8081) - Neo4j propertygraf (64 noder, 80 kanter) - Ingest-pipeline (Python) - Byggscript + integrationstester - Docker Compose setup
85 lines
2.8 KiB
Markdown
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)
|