
Business Intelligence as a Service
Probeer PlusClouds Eaglet-dienst en vind hoogwaardige B2B warme leads en kansen met AI-ondersteuning.
Neo4j is een grafische database met de mogelijkheid om grote en relationele gegevens op te slaan en te verwerken, die niet erg moeilijk te gebruiken is (ze hebben zelfs een querytaal genaamd cypher die veel lijkt op sql ) en die hoog in de DB-Engines ranking staat. Volgens hun eigen woorden kunnen we het omschrijven als "The Fastest Path to Graph" . Wat is Neo4j? Nadat we antwoord hebben gevonden op de vraag zijn er een paar belangrijke termen die we gebruiken om onze structuur te bepalen, laten we die doornemen.
Laten we voordat we de Neo4j database gebruiken de vragen wat zijn nodes en wat zijn labels beantwoorden.
Elke registratie is voor ons een node . Dit zijn onze hoofregistraties en we kunnen eigenschappen, die we "Properties" noemen, zoals id, naam, titel, enzovoorts aan deze registraties toevoegen. Tijdens het gebruik kunnen we deze eenvoudiger organiseren met de label functie.
Labels zijn de namen die we geven aan deze groepen nodes. Alle informatie die we als een groep kunnen aanduiden zoals 'Person', 'Company', enz., zal labels zijn die verschillende nodes vertegenwoordigen.
Een node zonder label
Create (n)
kan zo aangemaakt worden, terwijl we een node met een label kunnen aanmaken als volgt:
Create (n:Person)
Of als we deze node specifiek samen willen toevoegen,
Create (n:Person {id:1, companies: [1,2,3], name: 'Burak'})
kunnen we het op deze manier creëren. In ons voorbeeld ga ik de gegevens Person en Company gebruiken, dus heb ik hieronder een paar groepsregistraties aangemaakt.
Hier zijn 5 registraties met het label Person en 4 nodes met het label Company aangemaakt.Create (q:Person {id:1, companies: |1,2,3|, name: 'Burak'}),(w:Person {id:2, companies: [1], name: 'Uzay'}),(e:Person {id:3, companies: [2], name: 'Yaprak'}),(r:Person {id:4, companies: [3], name: 'Ali'}),(t:Person {id:5, companies: [2,4], name: 'Veli'}),(y:Company {id:1, name: 'X Company'}),(u:Company {id:2, name: 'Y Company'}),(o:Company {id:3, name: 'Z Company'}),(p:Company {id:4, name: 'Q Company'})
Onze Person nodes zijn als volgt aangemaakt;
Onze Company nodes zijn als volgt;
Een node kan meerdere labels hebben of helemaal geen. Aangezien ze alleen voor groepering dienen, kunnen ze geen extra eigenschappen bevatten. Alle eigenschappen kunnen binnen de node-informatie worden opgeslagen.
Neo4j heeft als belangrijkste functie de relaties die we 'relationships' noemen. Afhankelijk van de query die we schrijven, kunnen we met de snelheid relaties maken tussen 1-1 evenals tussen de 2e, 3e en hogere niveaus en ons geweldige resultaten opleveren.
Als we het vorige voorbeeld volgen, kunnen we zien dat elke persoon verbonden is met één of meerdere bedrijven. Hier kunnen we onze relatie noemen: PersonCompany en door deze te combineren met de sql-achtige where voorwaarde kunnen we deze relaties als volgt creëren.
Match (a:Person), (b:Company)where (b.id IN a.companies)create (a) - [r:PersonCompany {name:a.name+'<->'+b.name}] -> (b)
return type(r), a,b
Op het eenvoudigste niveau hebben we zo een inleiding gegeven over wat een Neo4j database is en welke voordelen het biedt tijdens het gebruik. Het is aan jou om deze verder te ontwikkelen en te gebruiken afhankelijk van de behoeften.
Succes!
Als je een journalist bent die graag diep in onderwerpen duikt die betrekking hebben op bedrijven en sectoren, willen we graag met je samenwerken!
Met de AutoQuill-tool die PlusClouds is gaan aanbieden aan zijn affiliate partners, kunnen contentmakers met een enkele klik verkopen. Laat ons u laten zien hoe u uw aandeel in deze revolutie kunt krijgen.