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,36 @@
|
||||
// Landvex IOL — ladda grafen i Neo4j
|
||||
// Kör: cat db/load_graph.cypher | cypher-shell -u neo4j -p landvex2024
|
||||
|
||||
CREATE CONSTRAINT lvx_id_unique IF NOT EXISTS
|
||||
FOR (n:Objekt) REQUIRE n.lvx_id IS UNIQUE;
|
||||
|
||||
:auto LOAD CSV WITH HEADERS FROM 'file:///noder.csv' AS row
|
||||
CALL {
|
||||
WITH row
|
||||
CREATE (o:Objekt {
|
||||
lvx_id: row.lvx_id,
|
||||
posttyp: row.posttyp,
|
||||
namn_sv: row.namn_sv,
|
||||
namn_en: row.namn_en,
|
||||
doman: row.doman,
|
||||
tier: toInteger(row.tier),
|
||||
verifieringsniva: row.verifieringsniva,
|
||||
konfidens: toFloat(row.konfidens)
|
||||
})
|
||||
} IN TRANSACTIONS OF 1000 ROWS;
|
||||
|
||||
:auto LOAD CSV WITH HEADERS FROM 'file:///kanter.csv' AS row
|
||||
CALL {
|
||||
WITH row
|
||||
MATCH (a:Objekt {lvx_id: row.subjekt})
|
||||
MATCH (b:Objekt {lvx_id: row.objekt})
|
||||
CREATE (a)-[r:RELATION {
|
||||
predikat: row.predikat,
|
||||
niva: row.niva,
|
||||
beskrivning: row.beskrivning
|
||||
}]->(b)
|
||||
} IN TRANSACTIONS OF 1000 ROWS;
|
||||
|
||||
// Index för snabb sökning
|
||||
CREATE TEXT INDEX objekt_namn IF NOT EXISTS
|
||||
FOR (o:Objekt) ON (o.namn_sv, o.namn_en);
|
||||
Reference in New Issue
Block a user