Mysql
 sql >> база данни >  >> RDS >> Mysql

Neo4j - Създайте връзка с помощта на Cypher

Точно като създаването на възли в Neo4j, можем да използваме CREATE изявление за създаване на връзки между тези възли.

Инструкцията за създаване на връзка се състои от CREATE , последвано от подробностите за връзката, която създавате.

Пример

Нека създадем връзка между някои от възлите, които създадохме по-рано. Първо, нека създадем връзка между изпълнител и албум.

Ще създадем следната връзка:

Ето Cypher CREATE изявление за създаване на горната връзка:

MATCH (a:Artist),(b:Album)
WHERE a.Name = "Strapping Young Lad" AND b.Name = "Heavy as a Really Heavy Thing"
CREATE (a)-[r:RELEASED]->(b)
RETURN r

Обяснение на горния код

Първо, използваме MATCH изявление, за да намерим двата възела, между които искаме да създадем връзката.

Може да има много възли с Изпълнител или Албум етикет, така че го стесняваме само до онези възли, които ни интересуват. В този случай използваме стойност на свойство, за да го филтрираме. Използваме Име свойство, което по-рано сме присвоили на всеки възел.

След това има действителното CREATE изявление. Това е, което създава връзката. В този случай той препраща към двата възела чрез името на променливата (т.е. a и b ), които им дадохме в първия ред. Връзката се установява чрез използване на ASCII-код модел, със стрелка, указваща посоката на връзката:(a)-[r:RELEASED]->(b) .

Даваме на връзката име на променлива r и дайте на връзката тип RELEASED (както в „тази група освободена този албум"). Типът на връзката е аналогичен на етикета на възел.

Добавяне на още връзки

Горният пример е много прост пример за връзка. Едно от нещата, в които Neo4j е наистина добър, е да управлява много взаимосвързани връзки.

Нека надградим връзката, която току-що установихме, за да можем да видим колко лесно е да продължим да създаваме повече възли и връзки между тях. Така че ще създадем още един възел и ще добавим още две връзки.

В крайна сметка ще получим следната графика:

Тази графика показва, че Девин Таунсенд свири в групата, изпълнявал е в албума, който групата издаде, и той също продуцира албума.

Така че нека започнем със създаването на възела за Devin Townsend:

CREATE (p:Person { Name: "Devin Townsend" })

Сега създайте връзките и върнете графиката:

MATCH (a:Artist),(b:Album),(p:Person)
WHERE a.Name = "Strapping Young Lad" AND b.Name = "Heavy as a Really Heavy Thing" AND p.Name = "Devin Townsend" 
CREATE (p)-[pr:PRODUCED]->(b), (p)-[pf:PERFORMED_ON]->(b), (p)-[pl:PLAYS_IN]->(a)
RETURN a,b,p

Сега трябва да видите графиката, както на предишната екранна снимка.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL репликация:Грешни транзакции в GTID базирана репликация

  2. Различните бази данни използват ли различни цитати на имена?

  3. Търсене в пълен текст с InnoDB

  4. Предотвратяване на SQL инжектиране в Node.js

  5. Как да променя съпоставянето на база данни, таблица, колона?