Sales

Wat is Neo4j? Wat zijn de voordelen van Neo4j?

Burak Kaşıkcı

Burak Kaşıkcı

PlusClouds Auteur

Neo4j nedir? Neo4j faydaları nelerdir?

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 (zelfs ze hebben een querytaal die behoorlijk lijkt op SQL genaamd cypher ) en die hoog staat in de DB-Engines ranglijst. Volgens henzelf kunnen we het definiëren als "De snelste weg naar grafieken" . Na een antwoord te hebben gevonden op de vraag Wat is Neo4j? zijn er een paar belangrijke termen die we gebruiken bij het bepalen van onze structuur, laten we deze bekijken.

Wat zijn nodes? Wat zijn labels?

Laten we voordat we de Neo4j-database gebruiken, antwoord geven op de vragen wat zijn nodes en wat zijn labels .

Nodes

Elk record is voor ons een node . Dit zijn onze hoofdrecords en we kunnen "properties" toevoegen, genaamd eigenschappen: id, naam, titel, enz. Bij het gebruik hiervan kunnen we allemaal een veel georganiseerdere manier gebruiken met de label eigenschap.

Labels

Labels zijn de namen die we aan deze groepen nodes geven. Informatie die we als een groep kunnen specificeren zoals 'Persoon', 'Bedrijf', enz. zal allemaal labels zijn die afzonderlijke nodes vertegenwoordigen.

Een node zonder label

Create (n)

kan worden gemaakt, terwijl een node met een label kan worden

Create (n:Person)

. Als we deze node speciaal samen willen toevoegen

Create (n:Person {id:1, companies: [1,2,3], name: 'Burak'})

kunnen we dat op deze manier doen. Omdat ik in ons voorbeeld Person en Company zal gebruiken, heb ik hieronder een paar bulkrecords gemaakt.

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 records met het label Person en 4 nodes met het label Company gemaakt.


Onze Person nodes zijn als volgt gemaakt;

Onze Company nodes zijn als volgt;


Een node kan meerdere labels hebben of helemaal geen. Omdat deze alleen de groepsprocedure uitvoeren, kunnen ze geen extra eigenschappen bevatten. Alle eigenschappen kunnen door node-informatie worden vastgehouden.

Relaties

Neo4j 's belangrijkste eigenschap zijn de relaties die we relationships noemen. Afhankelijk van de query die we schrijven, kunnen we naast 1-1-relaties ook relaties tussen 2e, 3e en hogere niveaus maken, en worden we verbluft door de snelheid waarmee dit gebeurt.

Als ik vanuit het bovenstaande voorbeeld ga, zie je dat elke persoon is verbonden met één of meer bedrijven. Hier kunnen we de relatie die we PersonCompany noemen creëren, en combineren met de SQL-methode van de where-clausule om onze relaties als volgt te 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
Na het creëren van onze relaties is het laatste beeld in Neo4j als volgt geworden;



Op het eenvoudigste niveau hebben we zo een inleiding gegeven over wat de Neo4j-database is en de voordelen die deze biedt tijdens het gebruik. Het is aan jou om deze te ontwikkelen en te gebruiken naar behoefte.

Succes!