рдпрд╣ рдЖрд▓реЗрдЦ Neo4j рдЧреНрд░рд╛рдлрд╝рд┐рдХрд▓ DBMS рдХреЗ рд╕рд╛рде Neo4j рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЧрд╛рдЗрдб рд░реЗрдбрдордВрдб рдФрд░ рд╡рд┐рд▓реНрд╕рди рдХреА рдкреБрд╕реНрддрдХ "рд╕реЗрд╡рди рд╡реАрдХрдиреЗрд╕ рдЗрди рд╕реЗрд╡рди рд╡реАрдХреНрд╕" рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рд╢реНрди рдореЗрдВ рд╡реЗрдм-рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдпрд╛ рд░реВрдк рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдкреБрд╕реНрддрдХ "рдЧреНрд░рд╛рдл рдбреЗрдЯрд╛рдмреЗрд╕" (рд░реЙрдмрд┐рдиреНрд╕рди, рд╡реЗрдмрд░, рдПрдЗрдлреНрд░реЗрдо) рдХреЗ рдмрд╛рдж рд╕реЗред рдпрд╣ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рд╕рдВрдмреЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд▓реЗрдЦ рдирд┐рдпреЛрдХреНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП Neo4j рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднрд┐рдкреНрд░реЗрдд рд╣реИред рдЬреЛ рд▓реЛрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ DBMS рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рд╡реЗ рдЗрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдиреЛрдЯред рдпрд╣ рдЖрд▓реЗрдЦ Neo4j рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдорд╛рдирд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреНрд░рдорд╢рдГ Neo4j 3.3.2 рдФрд░ 3.4.0, Neo4j рдмреНрд░рд╛рдЙрдЬрд╝рд░ 3.1.4 рдФрд░ 3.1.12 рд╣реИрдВред
рд╢реБрд░реБрдЖрдд рд╣реЛ рд░рд╣реА рд╣реИ
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ Neo4j рдЪрд▓ рд░рд╣рд╛ рд╣реИ (рд▓рд┐рдирдХреНрд╕ рдЙрджрд╛рд╣рд░рдг):
service --status-all | grep neo4j
[ + ] neo4j
рдПрдХ рдкреНрд▓рд╕ рдЪрд┐рдиреНрд╣ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ DBMS рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдПрдХ рдЛрдг рдЪрд┐рд╣реНрди рдЕрднреА рддрдХ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред Neo4j рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:
sudo service neo4j start
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд▓рд┐рдВрдХ рдкрд░ рдЬрд╛рдПрдВ http: // localhost: 7474 / рдмреНрд░рд╛рдЙрдЬрд╝рд░ / ред рдЖрдкрдХреЛ рдКрдкрд░ рдХреА рдЫрд╡рд┐ рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП Neo4j рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрдм рд╣рдо рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЧрдП рджреЛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рддрддреНрд╡реЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд▓реЗрдВрдЧреЗ: рд╕рдВрдкрд╛рджрдХ рдФрд░ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ред

рдкрд╛рдардпрдкреБрд╕реНрддрдХ
Neo4j рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рд╛рди рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдЕрддреНрдпрдзрд┐рдХ рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рд╕реНрдЯрд╛рд░реНрдЯ рд▓рд░реНрдирд┐рдВрдЧ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдиреЗ рдЖрдк рдХреЛ Neo4j рдХреА рдореВрд▓ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░реЗрдВ:


рдЕрдВрддрд┐рдо рдЪрд░рдг рдкрд░ рдкрд╣реБрдВрдЪрдиреЗ рдкрд░, рдкрд╣рдЪрд╛рди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ Neo4j рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рд╕реЗ рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд░реЗрдВ:


рд╕рдВрдкрд╛рджрдХ
Neo4j рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рддрдерд╛рдХрдерд┐рдд рд╕рдВрдкрд╛рджрдХ рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ рд╣реИ:

рдПрдХ рдмреГрд╣рджрд╛рдиреНрддреНрд░ рдХреЗ рд╕рд╛рде рдЖрджреЗрд╢реЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рд╕рднреА рдЙрдкрд▓рдмреНрдз рдЖрджреЗрд╢реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрдЦреЗрдВрдЧреЗ:

рдХрдорд╛рдВрдб рдХреЛ рдмреБрд▓рд╛рдУ :help
:


рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ :play movie graph
:play northwind graph
рдпрд╛ :play northwind graph
ред
рд╣рдо рдпрд╣рд╛рдВ рдЗрди рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рд╕рд╛рдЗрдлреНрд░реЗрдЧ рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдирд╛ рдЧреНрд░рд╛рдл рдХреИрд╕реЗ рдмрдирд╛рдПрдВред
рдПрдХ рдЧреНрд░рд╛рдл рдмрдирд╛рдПрдБ
рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдХрдорд╛рдВрдб рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдЦреБрдж рдХреЛ рд╕рд╛рдЗрдлреНрд░реЗ рднрд╛рд╖рд╛ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
:play cypher

рддреЛ рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╕рд╛рдорд╛рдЬрд┐рдХ рдЧреНрд░рд╛рдл рдмрдирд╛рдПрдБред рдЖрдЗрдП рд╕рдВрдкрд╛рджрдХ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рд╕рд╛рдЗрдлреНрд░реЗ рднрд╛рд╖рд╛ рдореЗрдВ рдкрд╣рд▓рд╛ рдХрдорд╛рдВрдб рдЯрд╛рдЗрдк рдХрд░реЗрдВ:
CREATE (u1:Person {name: "Evgeny", from: "Krasnodar"})
рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╣рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдмрддрд╛рдПрдЧрд╛:

рдПрдХ рдФрд░ рдиреЛрдб рдЬреЛрдбрд╝реЗрдВ:
CREATE (u2:Person {name: "Dmitry", from: "Tula"})
рдЕрдм рд╣рдо рдЯрд╛рдЗрдк Person
рд╕рднреА рдиреЛрдбреНрд╕ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВрдЧреЗ рдФрд░ name
рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓реЗрдВрдЧреЗ:
MATCH (ee:Person) RETURN ee.name

рдиреЛрдЯред SQL рдХреЗ рд░реВрдк рдореЗрдВ, рдХрд┐рд╕реА рднреА рдХреНрд╖реЗрддреНрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рдХрд╛рд▓реЗ рдЧрдП рдбреЗрдЯрд╛ рдХреЛ рдСрд░реНрдбрд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ:
MATCH (ee:Person) RETURN ee.name ORDER BY ee.name
рдЕрдЧрд▓рд╛, рд╣рдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рднреА рдиреЛрдбреНрд╕ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
MATCH (ee:Person) RETURN ee

рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдЧреНрд░рд╛рдлрд╝ рдмрдЯрди рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдЗрд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рд░реВрдк рдореЗрдВ рд╣рдорд╛рд░реЗ рдиреЛрдбреНрд╕ рджреЗрдЦреЗрдВ:

рдиреЛрдЯред рд╕рдВрд╕реНрдХрд░рдг 3.4 рдореЗрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЪрд┐рддреНрд░рдордп рджреГрд╢реНрдп рдмрд╕ рдЦреБрд▓рддрд╛ рд╣реИред рддрд╛рд▓рд┐рдХрд╛ рджреГрд╢реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "рддрд╛рд▓рд┐рдХрд╛" рд▓реЗрдмрд▓ рд╡рд╛рд▓реЗ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрддред
рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рдПрдХ рд▓рд┐рдВрдХ рдЬреЛрдбрд╝реЗрдВ:
MATCH (e:Person) WHERE e.name = "Evgeny" MATCH (d:Person) WHERE d.name = "Dmitry" CREATE (e)-[:KNOWS]->(d), (d)-[:KNOWS]->(e)
рдФрд░ рдлрд┐рд░ рд╕реЗ рд╣рдо рдЕрдкрдиреЗ рдЧреНрд░рд╛рдл рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВрдЧреЗ:

рд╕рд╛рдЗрд░рдлрд╛рдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рдЧреНрд░рд╛рдлрд╝ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдСрдкрд░реЗрд╢рди рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрд╡реЗрд░реА рд╕рдореАрдкрд╕реНрде рдХреЛрдиреЗ, рдПрдХ рд╕рд╛рдорд╛рдЬрд┐рдХ рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рджреЛрд╕реНрддреЛрдВ рдХреЗ рджреЛрд╕реНрдд, рдХрд┐рдирд╛рд░реЛрдВ рдФрд░ рдХреЛрдиреЗ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, рдФрд░ рдмрд╣реБрдд рдХреБрдЫ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдФрд░ рдЪрд░реНрдЪрд╛ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИред
рдЖрдк рдирд┐рдпреЛ 4j рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдиреЛрдбреНрд╕ рдФрд░ рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдбрд┐рд╕реНрдкреНрд▓реЗ рд╕реНрдЯрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЗрдмрд▓ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
рд╕рдВрджрд░реНрдн