Sales3 min read522 words

Wat is Neo4j? Wat zijn de voordelen van Neo4j?

Burak Kaşıkcı

Burak Kaşıkcı

PlusClouds Author

Cloud & SaaS

Wat is Neo4j? Wat zijn de voordelen van Neo4j?

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.

Wat zijn Nodes? Wat zijn Labels?

Laten we voordat we de Neo4j database gebruiken de vragen wat zijn nodes en wat zijn labels beantwoorden.

Nodes

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

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.

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'})
Hier zijn 5 registraties met het label Person en 4 nodes met het label Company aangemaakt.


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.

Relaties

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
Nadat we onze relaties hebben gecreëerd, zagen we de laatste weergave in Neo4j er als volgt uit;



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! 

Frequently Asked Questions

Wat is Neo4j?

Neo4j is een grafische database die grote en relationele gegevens kan opslaan en verwerken. Het heeft een querytaal genaamd Cypher die veel lijkt op SQL, en het staat hoog in de DB-Engines ranking. Volgens Neo4j kun je het omschrijven als "The Fastest Path to Graph".

Wat zijn nodes en wat zijn labels in Neo4j?

Nodes zijn de hoofregistraties en kunnen eigenschappen zoals id, naam en titel bevatten. Labels zijn de namen die groepen nodes aanduiden, zoals Person of Company; een node kan meerdere labels hebben, en labels zelf kunnen geen extra eigenschappen bevatten.

Kan een node meerdere labels hebben?

Ja, een node kan meerdere labels hebben of helemaal geen. Aangezien labels alleen voor groepering dienen, kunnen ze geen extra eigenschappen bevatten; alle eigenschappen kunnen binnen de node-informatie worden opgeslagen.

Hoe voeg je een node met een label en eigenschappen toe?

Een node met een label kan aangemaakt worden met Create (n:Person) of met eigenschappen zoals Create (q:Person {id:1, companies: [1,2,3], name: 'Burak'}). In het voorbeeld worden zowel Person- als Company-nodes aangemaakt.

Wat zijn relaties en hoe maak je ze aan?

Relaties verbinden nodes en kunnen één-op-één of meer niveaus vormen, wat snelle resultaten oplevert. Een voorbeeld toont hoe je een relatie aanmaakt met een label zoals PersonCompany en hoe je de relatiegegevens teruggeeft via de query.

Hoe gebruik je labels bij het koppelen van Person- en Company-nodes?

Labels geven aan tot welke groep een node behoort, zoals Person of Company, en in de voorbeeldquery worden ze gebruikt om de juiste nodes te vinden en de relatie op te bouwen.

Kan Neo4j ook zonder labels bestaan?

Ja, een node zonder label kan aangemaakt worden met Create (n). Labels dienen voor groepering en bevatten geen extra eigenschappen.

Wat is Neo4j? Wat zijn de voordelen van … | PlusClouds Blog