{"id":817,"date":"2025-03-02T16:13:24","date_gmt":"2025-03-02T14:13:24","guid":{"rendered":"https:\/\/olvas.dev\/?p=817"},"modified":"2025-03-02T16:36:40","modified_gmt":"2025-03-02T14:36:40","slug":"817","status":"publish","type":"post","link":"https:\/\/olvas.dev\/?p=817","title":{"rendered":"NEO4J \u2013 \u0433\u0440\u0430\u0444\u043e\u0432\u044b\u0435 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445"},"content":{"rendered":"\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0430 \u0433\u0440\u0430\u0444\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Neo4j, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043c Neo4j;<\/li>\n\n\n\n<li>\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c Python;<\/li>\n\n\n\n<li>\u041f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043c\u0441\u044f \u0441 \u0431\u0430\u0437\u043e\u0432\u044b\u043c \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u043e\u043c \u044f\u0437\u044b\u043a\u0430 Cypher \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432;<\/li>\n\n\n\n<li>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0421\u0423\u0411\u0414.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435&nbsp;Neo4j&nbsp;\u0438\u043b\u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0442\u0435\u043e\u0440\u0438\u0438<\/h4>\n\n\n\n<p>Neo4j&nbsp;\u2014 \u044d\u0442\u043e&nbsp;<a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%93%D1%80%D0%B0%D1%84%D0%BE%D0%B2%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%B1%D0%B0%D0%B7%D0%B0%D0%BC%D0%B8_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85\" rel=\"noreferrer noopener\" target=\"_blank\">\u0433\u0440\u0430\u0444\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445<\/a>&nbsp;\u0441&nbsp;<a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9E%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8B%D0%B9_%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4\" rel=\"noreferrer noopener\" target=\"_blank\">\u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c<\/a>, \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u043d\u0430&nbsp;<a href=\"https:\/\/ru.wikipedia.org\/wiki\/Java\" rel=\"noreferrer noopener\" target=\"_blank\">Java<\/a>. \u041e\u043d\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u0435\u0434\u0443\u0449\u0435\u0439 \u0433\u0440\u0430\u0444\u043e\u0432\u043e\u0439 \u0421\u0423\u0411\u0414 \u0432 \u043c\u0438\u0440\u0435. \u0410\u043d\u0430\u043b\u043e\u0433\u0430\u043c\u0438 Neo4j \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f Oracle NoSQL Database, HypherGraphDB, GraphBase, InfiniteGraph \u0438 AllegroGraph.<\/p>\n\n\n\n<p>\u0412\u0441\u0435\u043c \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0433\u0440\u0430\u0444, \u0438 \u0438\u0437 \u0447\u0435\u0433\u043e \u043e\u043d \u0441\u043e\u0441\u0442\u043e\u0438\u0442. \u0422\u0430\u043a \u0432\u043e\u0442, \u0433\u0440\u0430\u0444\u043e\u0432\u044b\u0435 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043d\u0430\u0431\u043e\u0440 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u0433\u0434\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0441\u0432\u044f\u0437\u0430\u043d\u044b \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439, \u043f\u043e\u0434\u043e\u0431\u043d\u043e \u043a\u0430\u043a \u0432 \u0433\u0440\u0430\u0444\u0435 \u0432\u0435\u0440\u0448\u0438\u043d\u044b (\u0443\u0437\u043b\u044b), \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0447\u0435\u0440\u0435\u0437 \u0440\u0435\u0431\u0440\u0430 (\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"915\" height=\"331\" src=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/cce4037d43100a4f10cf1323f5959b90.png\" alt=\"\" class=\"wp-image-831\" srcset=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/cce4037d43100a4f10cf1323f5959b90.png 915w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/cce4037d43100a4f10cf1323f5959b90-300x109.png?_mod=1740924798 300w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/cce4037d43100a4f10cf1323f5959b90-768x278.png?_mod=1740924799 768w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/cce4037d43100a4f10cf1323f5959b90-640x232.png?_mod=1740924800 640w\" sizes=\"auto, (max-width: 915px) 100vw, 915px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">\u041f\u043e\u0447\u0435\u043c\u0443 \u0433\u0440\u0430\u0444\u044b \u0438 \u0433\u0434\u0435 \u043e\u043d\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f?<\/h4>\n\n\n\n<p>\u0413\u0440\u0430\u0444\u044b \u2013 \u044d\u0442\u043e \u0443\u0434\u043e\u0431\u043d\u0430\u044f \u0438 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u0430\u044f \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445. \u041e\u0431\u044b\u0447\u043d\u043e \u043e\u043d\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432 \u0433\u0435\u043e\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445, \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u043a\u0435, \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0435\u0442\u044f\u0445 \u0438 \u0442.\u043f.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u041d\u0430 \u044d\u0442\u043e\u043c \u0442\u0435\u043e\u0440\u0438\u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e, \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435<\/h4>\n\n\n\n<p>\u0418\u0442\u0430\u043a, \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043b\u044e\u0431\u043e\u0439 \u0431\u0430\u0437\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b \u0434\u0430\u043d\u043d\u044b\u0435, \u043a\u0430\u043a \u0431\u044b \u0442\u0430\u0432\u0442\u043e\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u044d\u0442\u043e \u043d\u0435 \u0437\u0432\u0443\u0447\u0430\u043b\u043e. \u0414\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430, \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0443\u0436\u0435 \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b (\u0444\u043e\u0440\u043c\u0430\u0442 CSV) \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0430. \u0412\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f&nbsp;<a href=\"https:\/\/github.com\/Mario-cartoon\/bd\/tree\/main\" rel=\"noreferrer noopener\" target=\"_blank\">\u0442\u0443\u0442<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"556\" src=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/5b969aa58a052883c28da90b6fa17fa4.png\" alt=\"\" class=\"wp-image-827\" srcset=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/5b969aa58a052883c28da90b6fa17fa4.png 1024w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/5b969aa58a052883c28da90b6fa17fa4-300x163.png?_mod=1740924797 300w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/5b969aa58a052883c28da90b6fa17fa4-768x417.png?_mod=1740924798 768w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/5b969aa58a052883c28da90b6fa17fa4-640x348.png?_mod=1740924798 640w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/5b969aa58a052883c28da90b6fa17fa4-921x500.png?_mod=1740924799 921w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>\u0425\u043e\u0434 \u0440\u0430\u0431\u043e\u0442\u044b:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0441\u0440\u0435\u0434\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 Neo4j Desktop \u0441 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e\u00a0<a href=\"https:\/\/neo4j.com\/download\/\" target=\"_blank\" rel=\"noreferrer noopener\">\u0441\u0430\u0439\u0442\u0430<\/a>. \u0411\u043e\u043b\u044c\u0448\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0435\u0441\u0442\u044c\u00a0<a href=\"https:\/\/neo4j.com\/developer\/neo4j-desktop\/\" target=\"_blank\" rel=\"noreferrer noopener\">\u0432 \u0433\u0430\u0439\u0434\u0435 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432<\/a><\/li>\n\n\n\n<li>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445<\/li>\n<\/ol>\n\n\n\n<p>\u041a\u043b\u0438\u043a\u0430\u0435\u043c \u043d\u0430 \u00abNew\u00bb \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442. \u041f\u043e\u0441\u043b\u0435 \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u043d\u0430 Add -&gt; local DBMS \u0438 \u0443\u0436\u0435 \u0432 \u0441\u0430\u043c\u043e\u043c \u043a\u043e\u043d\u0446\u0435 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0435\u0451 (\u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438&nbsp;<a href=\"https:\/\/neo4j.com\/docs\/desktop-manual\/current\/visual-tour\/\" rel=\"noreferrer noopener\" target=\"_blank\">\u0442\u0443\u0442<\/a>). \u041f\u043e\u0441\u043b\u0435 \u0432\u0441\u0435\u0445 \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0435\u0451 \u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044c Neo4j Browser (\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0441\u0438\u043d\u044f\u044f \u043a\u043d\u043e\u043f\u043a\u0430 \u0441 \u043d\u0430\u0434\u043f\u0438\u0441\u044c\u044e \u00abOpen\u00bb).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"857\" height=\"546\" src=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/3002ee59001677ee2a26ca32ae2b4a5b.png\" alt=\"\" class=\"wp-image-821\" srcset=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/3002ee59001677ee2a26ca32ae2b4a5b.png 857w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/3002ee59001677ee2a26ca32ae2b4a5b-300x191.png?_mod=1740924793 300w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/3002ee59001677ee2a26ca32ae2b4a5b-768x489.png?_mod=1740924793 768w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/3002ee59001677ee2a26ca32ae2b4a5b-640x408.png?_mod=1740924794 640w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/3002ee59001677ee2a26ca32ae2b4a5b-785x500.png?_mod=1740924794 785w\" sizes=\"auto, (max-width: 857px) 100vw, 857px\" \/><\/figure>\n\n\n\n<p>3. \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430.<\/p>\n\n\n\n<p>\u0412 Neo4j browser \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u0432\u0435\u0441\u0442\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 server user add, \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0432\u0441\u0435 \u043f\u043e\u043b\u044f. \u0412 \u043f\u043e\u043b\u0435 roles \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c admin.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"438\" src=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/b35ca60e5b04998ecc2fef42f72329fa.png\" alt=\"\" class=\"wp-image-819\" srcset=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/b35ca60e5b04998ecc2fef42f72329fa.png 1024w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/b35ca60e5b04998ecc2fef42f72329fa-300x128.png?_mod=1740924791 300w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/b35ca60e5b04998ecc2fef42f72329fa-768x329.png?_mod=1740924791 768w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/b35ca60e5b04998ecc2fef42f72329fa-640x274.png?_mod=1740924791 640w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/b35ca60e5b04998ecc2fef42f72329fa-1000x428.png?_mod=1740924791 1000w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>4. Python + Neo4j. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a \u0421\u0423\u0411\u0414.<\/p>\n\n\n\n<p>\u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0441\u044f \u043a \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 neo4j.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pip install neo4j<\/code><\/pre>\n\n\n\n<p>\u041f\u043e\u0441\u043b\u0435 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c GraphDatabase \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0421\u0423\u0411\u0414.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> from neo4j import GraphDatabase<\/code><\/pre>\n\n\n\n<p>\u0414\u0430\u043b\u0435\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043a\u043e\u0434 \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>class Neo4jConnection:\n    def __init__(self, uri, user, password):\n        self.driver = GraphDatabase.driver(uri, auth=(user, password))\n\n    def close(self):\n        if self.driver is not None:\n            self.driver.close()\n\n# \u041c\u0435\u0442\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441 \u0432 \u0411\u0414\n    def query(self, query, db=None):\n        assert self.driver is not None, \"Driver not initialized!\"\n        session = None\n        response = None\n        try:\n            session = self.driver.session(database=db) if db is not None else self.driver.session()\n            response = list(session.run(query))\n        except Exception as e:\n            print(\"Query failed:\", e)\n        finally:\n            if session is not None:\n                session.close()\n        return response<\/code><\/pre>\n\n\n\n<p>\u0417\u0430\u043f\u0440\u043e\u0441\u044b \u0432 Neo4j \u043f\u0438\u0448\u0443\u0442\u0441\u044f \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Cypher. \u041e\u043d \u0438\u043d\u0442\u0443\u0438\u0442\u0438\u0432\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0439 \u0434\u043b\u044f \u043e\u0441\u0432\u043e\u0435\u043d\u0438\u044f. \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u044f\u0437\u044b\u043a\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0439\u0434\u044f \u043f\u043e&nbsp;<a href=\"https:\/\/neo4j.com\/docs\/cypher-manual\/4.4\/clauses\/create\/#create-create-a-relationship-between-two-nodes\" rel=\"noreferrer noopener\" target=\"_blank\">\u0441\u0441\u044b\u043b\u043a\u0435<\/a>.<\/p>\n\n\n\n<p>\u0418\u0442\u0430\u043a, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u043a \u0421\u0423\u0411\u0414. \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043e\u0431\u044a\u0435\u043a\u0442 connection \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u043f\u0430\u0440\u043e\u043b\u044c (\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0438 \u043f\u0440\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f). \u0414\u0430\u043b\u0435\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u0430\u043c\u043e\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u00abgraphDb\u00bb \u2014 \u044d\u0442\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0411\u0414.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>conn = Neo4jConnection(uri=\"bolt:\/\/localhost:7687\", user=\"Mario\", password=\"123123\")\nconn.query(\"CREATE OR REPLACE DATABASE graphDb\")<\/code><\/pre>\n\n\n\n<p>\u0414\u0430\u043b\u0435\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432 \u0411\u0414 (\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 Product). \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0438\u0448\u0435\u043c \u0437\u0430\u043f\u0440\u043e\u0441:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>query_string = '''\nLOAD CSV WITH HEADERS FROM\n'https:\/\/raw.githubusercontent.com\/Mario-cartoon\/bd\/main\/Product.csv'\nAS line FIELDTERMINATOR ','\nMERGE (product:Product {productID: line.ProductID})\n  ON CREATE SET product.productName = line.ProductName, product.UnitPrice = toFloat(line.UnitPrice);\n'''\nconn.query(query_string, db='graphDb')<\/code><\/pre>\n\n\n\n<p>\u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441? \u041e\u043d \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 CSV-\u0444\u0430\u0439\u043b \u0438\u0437 github, \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u0441\u0442\u0440\u043e\u0447\u043d\u043e \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435, \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u044f \u0438\u0445 \u043f\u043e \u0437\u0430\u043f\u044f\u0442\u043e\u0439 (FIELDTERMINATOR \u2018,\u2019). \u0414\u0430\u043b\u0435\u0435 \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u043c \u0443\u0437\u043b\u044b (\u043e\u0431\u044a\u0435\u043a\u0442\u044b) \u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>product.productName = line.ProductName<\/code><\/pre>\n\n\n\n<p>\u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043a\u043e\u0434 \u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 Neo4j browser. \u0412 \u043e\u043a\u043d\u0435 \u00abNode Labels\u00bb \u043a\u043b\u0438\u043a\u0430\u0435\u043c \u043f\u043e \u043f\u043e\u044f\u0432\u0438\u0432\u0448\u0435\u0439\u0441\u044f \u043a\u043d\u043e\u043f\u043a\u0435 \u00abProduct\u00bb.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"501\" src=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/c2ad3e4087c311c173d74aa5a4ae09ca.png\" alt=\"\" class=\"wp-image-824\" srcset=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/c2ad3e4087c311c173d74aa5a4ae09ca.png 1024w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/c2ad3e4087c311c173d74aa5a4ae09ca-300x147.png?_mod=1740924793 300w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/c2ad3e4087c311c173d74aa5a4ae09ca-768x376.png?_mod=1740924793 768w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/c2ad3e4087c311c173d74aa5a4ae09ca-640x313.png?_mod=1740924794 640w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/c2ad3e4087c311c173d74aa5a4ae09ca-1000x489.png?_mod=1740924794 1000w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u041f\u043e\u0437\u0434\u0440\u0430\u0432\u043b\u044f\u044e! \u0412\u044b\u0432\u0435\u043b\u0438 \u0443\u0437\u043b\u044b Product. \u0415\u0441\u043b\u0438 \u043d\u0430\u0436\u0430\u0442\u044c \u043d\u0430 \u043e\u0434\u0438\u043d \u0443\u0437\u0435\u043b, \u0442\u043e \u0432 \u043e\u043a\u043d\u0435 \u0441\u043f\u0440\u0430\u0432\u0430 \u043f\u043e\u044f\u0432\u044f\u0442\u0441\u044f \u0432\u0441\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 (productName, productID, UnitPrice), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u043b\u0438 \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0435.<\/p>\n\n\n\n<p>\u0414\u0430\u043b\u0435\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043d\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0434\u0440\u0443\u0433\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446. \u041a\u043e\u0434 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432&nbsp;<a href=\"https:\/\/github.com\/Mario-cartoon\/bd\/blob\/main\/graphBD.py\" rel=\"noreferrer noopener\" target=\"_blank\">GitHub<\/a>. \u0412 \u0438\u0442\u043e\u0433\u0435 \u0432 \u043b\u0435\u0432\u043e\u043c \u043e\u043a\u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c 5 \u0443\u0437\u043b\u043e\u0432:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"345\" height=\"162\" src=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/bed9bd65419f1159f9925c0a250db82c.png\" alt=\"\" class=\"wp-image-833\" srcset=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/bed9bd65419f1159f9925c0a250db82c.png 345w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/bed9bd65419f1159f9925c0a250db82c-300x141.png?_mod=1740924798 300w\" sizes=\"auto, (max-width: 345px) 100vw, 345px\" \/><\/figure>\n\n\n\n<p>\u041c\u043e\u0436\u043d\u043e \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0432\u0441\u0435 \u0443\u0437\u043b\u044b \u0432 \u043e\u0434\u043d\u043e \u043e\u043a\u043d\u043e. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0437\u0430\u043f\u0440\u043e\u0441:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>MATCH (n) RETURN n <\/code><\/pre>\n\n\n\n<p>\u041f\u043e\u043a\u0430 \u043d\u0430\u0448\u0438 \u0443\u0437\u043b\u044b (\u043e\u0431\u044a\u0435\u043a\u0442\u044b) \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0439 \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0443\u0437\u043b\u0430\u043c\u0438.<\/p>\n\n\n\n<p>5. \u0417\u0430\u043f\u0440\u043e\u0441\u044b \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0439.<\/p>\n\n\n\n<p>\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043a\u0430\u043a\u0438\u0435 \u0437\u0430\u043a\u0430\u0437\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u0438 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u0432\u044f\u0437\u0430\u0442\u044c \u0443\u0437\u043b\u044b (\u043e\u0431\u044a\u0435\u043a\u0442\u044b) Order \u0438 Employee. \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0437\u0430\u043f\u0440\u043e\u0441:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>query_string ='''\nLOAD CSV WITH HEADERS FROM 'https:\/\/raw.githubusercontent.com\/Mario-cartoon\/bd\/main\/Order.csv' AS line\nMATCH (order:Order {orderID: line.OrderID})\nMATCH (employee:Employee {employeeID: line.EmployeeID})\nCREATE (employee)-&#91;:SOLD]-&gt;(order);\n'''\nconn.query(query_string, db='graphDb')<\/code><\/pre>\n\n\n\n<p>MATCH \u2013 \u044d\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u043d\u0430\u0431\u043e\u0440\u0435 \u043f\u0440\u0438\u0432\u044f\u0437\u043e\u043a. \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e CREATE \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0441\u0430\u043c\u0443 \u0441\u0432\u044f\u0437\u044c, \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 \u0433\u0440\u0430\u0444\u0430, \u0432 \u00ab[]\u00bb \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0441\u0432\u044f\u0437\u0438. \u0411\u043e\u043b\u0435\u0435 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"793\" height=\"318\" src=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/e6aaae3557d7eab230a35d12cee512e9.png\" alt=\"\" class=\"wp-image-842\" srcset=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/e6aaae3557d7eab230a35d12cee512e9.png 793w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/e6aaae3557d7eab230a35d12cee512e9-300x120.png?_mod=1740924800 300w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/e6aaae3557d7eab230a35d12cee512e9-768x308.png?_mod=1740924801 768w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/e6aaae3557d7eab230a35d12cee512e9-640x257.png?_mod=1740924801 640w\" sizes=\"auto, (max-width: 793px) 100vw, 793px\" \/><\/figure>\n\n\n\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"399\" src=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/6932724b66decaffffda8190c675b5c1.png\" alt=\"\" class=\"wp-image-840\" srcset=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/6932724b66decaffffda8190c675b5c1.png 1024w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/6932724b66decaffffda8190c675b5c1-300x117.png?_mod=1740924800 300w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/6932724b66decaffffda8190c675b5c1-768x299.png?_mod=1740924801 768w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/6932724b66decaffffda8190c675b5c1-640x249.png?_mod=1740924801 640w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/6932724b66decaffffda8190c675b5c1-1000x390.png?_mod=1740924801 1000w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u0414\u0430\u043d\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u0441\u043e\u0437\u0434\u0430\u0441\u0442 \u0441\u0432\u044f\u0437\u044c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c\u0441\u044f \u0432 \u043b\u0435\u0432\u043e\u043c \u043e\u043a\u043d\u0435. \u042d\u0442\u0430 \u0441\u0432\u044f\u0437\u044c \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u043c \u0438 \u0437\u0430\u043a\u0430\u0437\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, Aleekseev -&gt; SOLD-&gt; Grandma\u2019s Bakery, \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a \u0410\u043b\u0435\u043a\u0441\u0435\u0435\u0432 \u043f\u0440\u043e\u0434\u0430\u043b \u0447\u0442\u043e-\u0442\u043e Grandma\u2019s Bakery (\u044d\u0442\u043e \u0447\u0442\u043e-\u0442\u043e \u043c\u044b \u0443\u0437\u043d\u0430\u0435\u043c \u0447\u0443\u0442\u044c \u043f\u043e\u0437\u0436\u0435).<\/p>\n\n\n\n<p>\u0427\u0442\u043e\u0431\u044b \u0443\u0437\u043d\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u0443\u0437\u043b\u0435, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430 \u043d\u0435\u0433\u043e \u043d\u0430\u0436\u0430\u0442\u044c \u0438 \u0432 \u043f\u0440\u0430\u0432\u043e\u043c \u043e\u043a\u043d\u0435 \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0431 \u043e\u0431\u044a\u0435\u043a\u0442\u0435. \u0412\u0430\u0436\u043d\u043e \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0437\u0434\u0435\u0441\u044c \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u043b\u0438 \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0435.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"787\" src=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/4ba035c36b371b7329b3b7226fa39872.png\" alt=\"\" class=\"wp-image-820\" srcset=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/4ba035c36b371b7329b3b7226fa39872.png 1024w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/4ba035c36b371b7329b3b7226fa39872-300x231.png?_mod=1740924792 300w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/4ba035c36b371b7329b3b7226fa39872-768x590.png?_mod=1740924792 768w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/4ba035c36b371b7329b3b7226fa39872-640x492.png?_mod=1740924792 640w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/4ba035c36b371b7329b3b7226fa39872-651x500.png?_mod=1740924792 651w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a\u043e\u0439 \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u043b\u0438 \u0432 \u0437\u0430\u043a\u0430\u0437\u0435. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0438\u0448\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0437\u0430\u043f\u0440\u043e\u0441:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>query_string = '''\nLOAD CSV WITH HEADERS FROM 'https:\/\/raw.githubusercontent.com\/Mario-cartoon\/bd\/main\/Order.csv' AS line\nMATCH (order:Order {orderID: line.OrderID})\nMATCH (product:Product {productID: line.ProductID})\nMERGE (order)-&#91;op:PURCHASED]-&gt;(product)\n  ON CREATE SET op.quantity = toFloat(line.Quantity);\n'''\nconn.query(query_string, db='graphDb')<\/code><\/pre>\n\n\n\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"533\" src=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/5a4fe1e4e3efcace5af1c6e91fc27a5d.png\" alt=\"\" class=\"wp-image-838\" srcset=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/5a4fe1e4e3efcace5af1c6e91fc27a5d.png 1024w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/5a4fe1e4e3efcace5af1c6e91fc27a5d-300x156.png?_mod=1740924800 300w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/5a4fe1e4e3efcace5af1c6e91fc27a5d-768x400.png?_mod=1740924801 768w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/5a4fe1e4e3efcace5af1c6e91fc27a5d-640x333.png?_mod=1740924801 640w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/5a4fe1e4e3efcace5af1c6e91fc27a5d-961x500.png?_mod=1740924802 961w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u0418 \u0442\u0430\u043a, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0441\u0432\u044f\u0437\u0438 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 \u0441 \u0437\u0430\u043a\u0430\u0437\u043e\u043c \u0438 \u0441 \u043f\u0440\u043e\u0434\u0430\u043d\u043d\u044b\u043c \u0432 \u0437\u0430\u043a\u0430\u0437\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u043c. \u0422\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0441\u0432\u044f\u0437\u044c \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u043c \u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u043c, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u0432\u044f\u0436\u0435\u043c \u0435\u0433\u043e \u0441 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0435\u0439 \u0442\u043e\u0432\u0430\u0440\u0430. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0434\u0432\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>query_string = '''\nLOAD CSV WITH HEADERS FROM 'https:\/\/raw.githubusercontent.com\/Mario-cartoon\/bd\/main\/Product.csv\n' AS line\nMATCH (product:Product {productID: line.ProductID})\nMATCH (supplier:Supplier {supplierID: line.SupplierID})\nMERGE (supplier)-&#91;:SUPPLIES]-&gt;(product);\n'''\nconn.query(query_string, db='graphDb'<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"501\" src=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/77b6a14d0fdfa9f4ffb1aafdb1e375dd.png\" alt=\"\" class=\"wp-image-826\" srcset=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/77b6a14d0fdfa9f4ffb1aafdb1e375dd.png 1024w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/77b6a14d0fdfa9f4ffb1aafdb1e375dd-300x147.png?_mod=1740924796 300w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/77b6a14d0fdfa9f4ffb1aafdb1e375dd-768x376.png?_mod=1740924797 768w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/77b6a14d0fdfa9f4ffb1aafdb1e375dd-640x313.png?_mod=1740924797 640w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/77b6a14d0fdfa9f4ffb1aafdb1e375dd-1000x489.png?_mod=1740924797 1000w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>query_string = '''\nLOAD CSV WITH HEADERS FROM 'https:\/\/raw.githubusercontent.com\/Mario-cartoon\/bd\/main\/Product.csv' AS line\nMATCH (product:Product {productID: line.ProductID})\nMATCH (category:Category {categoryID: line.CategoryID})\nMERGE (product)-&#91;:IS_CATEGORY]-&gt;(category);\n'''\nconn.query(query_string, db='graphDb')<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"527\" src=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/ee14b4186d90939a18252c4edc9ae268.png\" alt=\"\" class=\"wp-image-823\" srcset=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/ee14b4186d90939a18252c4edc9ae268.png 1024w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/ee14b4186d90939a18252c4edc9ae268-300x154.png?_mod=1740924793 300w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/ee14b4186d90939a18252c4edc9ae268-768x395.png?_mod=1740924793 768w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/ee14b4186d90939a18252c4edc9ae268-640x329.png?_mod=1740924794 640w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/ee14b4186d90939a18252c4edc9ae268-972x500.png?_mod=1740924794 972w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u0412\u0441\u0435 \u0443\u0437\u043b\u044b \u0438\u043c\u0435\u044e\u0442 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f. \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c, \u043a\u0430\u043a \u043a\u0430\u0436\u0434\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442 \u0441\u0432\u044f\u0437\u0430\u043d \u0434\u0440\u0443\u0433 \u0441 \u0434\u0440\u0443\u0433\u043e\u043c. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432\u044b\u0432\u0435\u0434\u0438\u0442\u0435 \u0432\u0441\u0435 \u0443\u0437\u043b\u044b.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"565\" src=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/45c6b821b025a6a37ee759896321685f.png\" alt=\"\" class=\"wp-image-822\" srcset=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/45c6b821b025a6a37ee759896321685f.png 1024w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/45c6b821b025a6a37ee759896321685f-300x166.png?_mod=1740924793 300w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/45c6b821b025a6a37ee759896321685f-768x424.png?_mod=1740924794 768w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/45c6b821b025a6a37ee759896321685f-640x353.png?_mod=1740924794 640w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/45c6b821b025a6a37ee759896321685f-906x500.png?_mod=1740924794 906w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 Timofeeva. \u0418\u0437 \u0433\u0440\u0430\u0444\u0430 \u0432\u0438\u0434\u043d\u043e, \u043a\u0430\u043a\u0438\u0435 \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u043e\u0432\u0430\u0440\u044b \u043e\u043d\u0430 \u043f\u0440\u043e\u0434\u0430\u043b\u0430 \u00abFresh product\u00bb, \u0438 \u043a\u0442\u043e \u0431\u044b\u043b \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"853\" height=\"848\" src=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/22b6dc79a9d122d269d5f46232872b7b.png\" alt=\"\" class=\"wp-image-839\" srcset=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/22b6dc79a9d122d269d5f46232872b7b.png 853w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/22b6dc79a9d122d269d5f46232872b7b-300x298.png?_mod=1740924800 300w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/22b6dc79a9d122d269d5f46232872b7b-150x150.png?_mod=1740924800 150w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/22b6dc79a9d122d269d5f46232872b7b-768x763.png?_mod=1740924801 768w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/22b6dc79a9d122d269d5f46232872b7b-640x636.png?_mod=1740924802 640w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/22b6dc79a9d122d269d5f46232872b7b-503x500.png?_mod=1740924802 503w\" sizes=\"auto, (max-width: 853px) 100vw, 853px\" \/><\/figure>\n\n\n\n<p>\u0422\u0430\u043a\u0436\u0435 \u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e \u044d\u0442\u043e \u0432\u0441\u0435-\u0442\u0430\u043a\u0438 \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0438 \u0437\u0434\u0435\u0441\u044c \u043c\u043e\u0436\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c \u0438\u043c\u044f, \u0444\u0430\u043c\u0438\u043b\u0438\u044e \u0438 \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 \u2014 \u043a\u043b\u0438\u043a\u043d\u0443\u0432 \u043f\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0443.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"553\" height=\"354\" src=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/f89cd3f8dffce2d2567c5aef86976865.png\" alt=\"\" class=\"wp-image-844\" srcset=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/f89cd3f8dffce2d2567c5aef86976865.png 553w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/f89cd3f8dffce2d2567c5aef86976865-300x192.png?_mod=1740924800 300w\" sizes=\"auto, (max-width: 553px) 100vw, 553px\" \/><\/figure>\n\n\n\n<p>6. \u0417\u0430\u043f\u0440\u043e\u0441\u044b \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438.<\/p>\n\n\n\n<p>\u0414\u043e \u044d\u0442\u043e\u0433\u043e \u0432\u0441\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043f\u0438\u0441\u0430\u043b\u0438\u0441\u044c \u0447\u0435\u0440\u0435\u0437 Python, \u043d\u043e \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0432 \u0441\u0430\u043c\u043e\u0439 Neo4j browser (\u0432 \u0441\u0442\u0440\u043e\u043a\u0435 \u0441\u0432\u0435\u0440\u0445\u0443).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"77\" src=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/45d81133e3d610578a4fdadb5a6cf1a2.png\" alt=\"\" class=\"wp-image-841\" srcset=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/45d81133e3d610578a4fdadb5a6cf1a2.png 1024w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/45d81133e3d610578a4fdadb5a6cf1a2-300x23.png?_mod=1740924800 300w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/45d81133e3d610578a4fdadb5a6cf1a2-768x58.png?_mod=1740924800 768w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/45d81133e3d610578a4fdadb5a6cf1a2-640x48.png?_mod=1740924800 640w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/45d81133e3d610578a4fdadb5a6cf1a2-1000x75.png?_mod=1740924800 1000w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, Peter \u2018s Lands), \u0438 \u043a\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u044b \u043e\u043d \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442. \u041f\u0438\u0448\u0435\u043c \u0437\u0430\u043f\u0440\u043e\u0441:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>MATCH (s:Supplier{companyName: 'Peter \\'s Lands'})-&#91;r1:SUPPLIES]-&gt;(p:Product)\nRETURN s, r1, p;<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"366\" src=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/b1733b2a7e5c3c7004005befa162303b.png\" alt=\"\" class=\"wp-image-835\" srcset=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/b1733b2a7e5c3c7004005befa162303b.png 1024w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/b1733b2a7e5c3c7004005befa162303b-300x107.png?_mod=1740924799 300w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/b1733b2a7e5c3c7004005befa162303b-768x275.png?_mod=1740924800 768w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/b1733b2a7e5c3c7004005befa162303b-640x229.png?_mod=1740924800 640w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/b1733b2a7e5c3c7004005befa162303b-1000x357.png?_mod=1740924801 1000w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u041d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u0441\u0435\u0433\u0434\u0430 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u044c \u043d\u0443\u0436\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0432 \u0433\u0440\u0430\u0444\u0430\u0445, \u043c\u043e\u0436\u043d\u043e \u0438 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u044b\u0432\u0435\u0434\u0435\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0442\u043e\u043c \u043a\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u044b \u043f\u0440\u043e\u0434\u0430\u043b \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a Nekrasov.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>MATCH (p:Product)&lt;-&#91;:PURCHASED]-(:Order)&lt;-&#91;:SOLD]-(em:Employee{lastName: 'Nekrasov'})\nRETURN em.lastName + ' '+em.firstName as Full_name, p.productName as sold_products<\/code><\/pre>\n\n\n\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0431\u0443\u0434\u0435\u0442:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"484\" src=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/6a5687647677c17f71afbc7738b39543.png\" alt=\"\" class=\"wp-image-834\" srcset=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/6a5687647677c17f71afbc7738b39543.png 1024w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/6a5687647677c17f71afbc7738b39543-300x142.png?_mod=1740924799 300w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/6a5687647677c17f71afbc7738b39543-768x363.png?_mod=1740924800 768w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/6a5687647677c17f71afbc7738b39543-640x303.png?_mod=1740924801 640w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/6a5687647677c17f71afbc7738b39543-1000x473.png?_mod=1740924801 1000w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u0432 \u0442\u043e\u043c, \u043a\u0430\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c. \u0415\u0441\u043b\u0438 \u044d\u0442\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u0442\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0431\u0443\u0434\u0435\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u0430.<\/p>\n\n\n\n<p>\u0422\u0430\u043a\u0436\u0435 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0432\u044b\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0411\u0414. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c pandas.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>query_string = '''\nMATCH (em:Employee)\nRETURN em.firstName, em.lastName, em.post\n'''\ndtf_data = DataFrame(&#91;dict(_) for _ in conn.query(query_string, db='graphDb')])\nprint(dtf_data)<\/code><\/pre>\n\n\n\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"554\" height=\"217\" src=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/7fa6f9d15b1b4d4a0bb94f05999259ae.png\" alt=\"\" class=\"wp-image-843\" srcset=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/7fa6f9d15b1b4d4a0bb94f05999259ae.png 554w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/7fa6f9d15b1b4d4a0bb94f05999259ae-300x118.png?_mod=1740924800 300w\" sizes=\"auto, (max-width: 554px) 100vw, 554px\" \/><\/figure>\n\n\n\n<p>\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b, \u0438 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0435\u0441\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u0430\u044f \u043a\u0430\u0440\u0442\u0430 \u0441\u043e \u0432\u0441\u0435\u043c \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u043e\u043c&nbsp;<a href=\"https:\/\/neo4j.com\/docs\/cypher-refcard\/current\/\" rel=\"noreferrer noopener\" target=\"_blank\">Cypher Refcard<\/a>.<\/p>\n\n\n\n<p>\u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b, \u043a\u0430\u0441\u0430\u0435\u043c\u044b\u0435 Neo4j, \u043d\u0443\u0436\u043d\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u043c, \u0433\u0434\u0435 \u0436\u0435 \u0432\u0441\u0435-\u0442\u0430\u043a\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0433\u0440\u0430\u0444\u043e\u0432\u044b\u0435 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445? \u041e\u0434\u0438\u043d \u0438\u0437 \u0442\u0430\u043a\u0438\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u2014 \u044d\u0442\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u043f\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 (\u0442\u043e\u0432\u0430\u0440\u0430). \u041c\u044b \u0436\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u0440\u0438\u043c\u0435\u0440 \u00ab\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044f \u0441\u0442\u0430\u0442\u0435\u0439 \u0434\u043b\u044f \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439\u00bb \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Neo4j.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u041f\u0440\u0438\u043c\u0435\u0440 \u00ab\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044f \u0441\u0442\u0430\u0442\u0435\u0439 \u0434\u043b\u044f \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439\u00bb<\/h4>\n\n\n\n<p><strong>\u0421\u0443\u0442\u044c \u043d\u0430\u0448\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0439 \u0441\u0442\u0430\u0442\u0435\u0439 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f:&nbsp;<\/strong>\u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0442\u044c \u043d\u0430\u0448\u0438\u043c \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044f\u043c \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044c \u043f\u0440\u043e\u044f\u0432\u043b\u044f\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441 \u043a \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u0441\u0442\u0430\u0442\u0435\u0439, \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044e, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0443\u044e \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u0441\u0442\u0430\u0442\u044c\u0438.<br><br>\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c, \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u0430\u043d\u043d\u044b\u0445:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u0430\u043d\u043d\u044b\u0445:<\/strong><\/li>\n<\/ol>\n\n\n\n<p>\u041d\u0430\u0448\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0439 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0441 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430\u043c\u0438:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>articles \u2013 title,<\/li>\n\n\n\n<li>category_articles \u2013 title,<\/li>\n\n\n\n<li>reader \u2013 name, email, nickname,<\/li>\n\n\n\n<li>RecommendationArticleToReader \u2013 nickname<\/li>\n<\/ul>\n\n\n\n<p><strong>\u041e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0443\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"543\" height=\"608\" src=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/f17bc7c92987f6b350f0bc9ad1d8b509.png\" alt=\"\" class=\"wp-image-837\" srcset=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/f17bc7c92987f6b350f0bc9ad1d8b509.png 543w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/f17bc7c92987f6b350f0bc9ad1d8b509-268x300.png?_mod=1740924799 268w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/f17bc7c92987f6b350f0bc9ad1d8b509-447x500.png?_mod=1740924801 447w\" sizes=\"auto, (max-width: 543px) 100vw, 543px\" \/><\/figure>\n\n\n\n<p>\u041d\u0430 \u044d\u0442\u043e\u043c \u0443 \u043d\u0430\u0441 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u043e\u0441\u044c \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439.<br>\u0422\u0430\u043a\u0436\u0435 \u0441\u0442\u043e\u0438\u0442 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0432 Neo4j \u043d\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0432\u0443\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u0442\u0430\u0442\u044c\u044f \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438, \u0430 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f \u0438\u043c\u0435\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0430\u0442\u0435\u0439. \u0413\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0442\u044c \u0440\u0435\u0431\u0440\u0430 \u0432 \u043e\u0431\u043e\u0438\u0445 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f\u0445.<\/p>\n\n\n\n<p>\u041a\u0441\u0442\u0430\u0442\u0438 \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c, \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0438 \u0443\u0434\u0430\u043b\u044f\u0442\u044c \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 (\u0443\u0437\u043b\u044b) \u0438 \u0441\u0432\u044f\u0437\u0438 (\u0440\u0435\u0431\u0440\u0430), \u043d\u0435 \u0431\u0435\u0441\u043f\u043e\u043a\u043e\u044f\u0441\u044c \u043e \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u043a\u043b\u044e\u0447\u0430\u0445.<\/p>\n\n\n\n<p>2.&nbsp;<strong>\u0420\u0430\u0431\u043e\u0442\u0430 \u0432 Neo4J:<\/strong><\/p>\n\n\n\n<p>\u0417\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043d\u0430\u0448\u0443 \u0411\u0414 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043c\u043e\u0434\u0435\u043b\u044c\u044e, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u0438 \u0432\u044b\u0448\u0435. \u0417\u0430\u043f\u0440\u043e\u0441\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u0438\u0441\u0430\u0442\u044c \u0432 Neo4j Browser.<\/p>\n\n\n\n<p>\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 csv c github:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># LOAD CATEGORY\nquery_string = '''\nLOAD CSV WITH HEADERS FROM\n'https:\/\/raw.githubusercontent.com\/Mario-cartoon\/ArticleBD\/main\/Category.csv'\nAS line FIELDTERMINATOR ','\nMERGE (category:Category {categoryID: line.title})\n  ON CREATE SET category.title = line.title;\n'''\nconn.query(query_string, db='graphDb')\n\n# LOAD ARTICLES\nquery_string = '''\nLOAD CSV WITH HEADERS FROM\n'https:\/\/raw.githubusercontent.com\/Mario-cartoon\/ArticleBD\/main\/Articles.csv'\nAS line FIELDTERMINATOR ','\nMERGE (article:Article {articleID: line.title})\n'''\nconn.query(query_string, db='graphDb')\n\n# LOAD READER\nquery_string = '''\nLOAD CSV WITH HEADERS FROM\n'https:\/\/raw.githubusercontent.com\/Mario-cartoon\/ArticleBD\/main\/Reader.csv'\nAS line FIELDTERMINATOR ','\nMERGE (reader:Reader {readerID: line.name})\n  ON CREATE SET reader.nickname = line.nickname,reader.email = line.email;\n'''\nconn.query(query_string, db='graphDb')<\/code><\/pre>\n\n\n\n<p>\u0414\u0430\u043b\u0435\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f article-[:IS_IN]-&gt; category \u0438 reader-[:READ]-&gt;article:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># LOAD CATEGORY_ARTICLES\nquery_string ='''\nLOAD CSV WITH HEADERS FROM 'https:\/\/raw.githubusercontent.com\/Mario-cartoon\/ArticleBD\/main\/Category_articles.csv' AS line\nMATCH (category:Category {categoryID: line.title_category})\nMATCH (article:Article {articleID: line.title_article})\nCREATE (article)-&#91;:IS_IN]-&gt;(category);\n'''\nconn.query(query_string, db='graphDb')\n\n# LOAD READ_ARTICLES\nquery_string ='''\nLOAD CSV WITH HEADERS FROM 'https:\/\/raw.githubusercontent.com\/Mario-cartoon\/ArticleBD\/main\/read_articles.csv' AS line\nMATCH (reader:Reader {readerID: line.name})\nMATCH (article:Article {articleID: line.title_article})\nCREATE (reader)-&#91;:READ]-&gt;(article);\n'''\nconn.query(query_string, db='graphDb')<\/code><\/pre>\n\n\n\n<p>\u0418\u0442\u043e\u0433:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"904\" height=\"853\" src=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/d3966be04cdeea637151cb340c3490c5.png\" alt=\"\" class=\"wp-image-832\" srcset=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/d3966be04cdeea637151cb340c3490c5.png 904w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/d3966be04cdeea637151cb340c3490c5-300x283.png?_mod=1740924799 300w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/d3966be04cdeea637151cb340c3490c5-768x725.png?_mod=1740924801 768w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/d3966be04cdeea637151cb340c3490c5-640x604.png?_mod=1740924801 640w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/d3966be04cdeea637151cb340c3490c5-530x500.png?_mod=1740924802 530w\" sizes=\"auto, (max-width: 904px) 100vw, 904px\" \/><\/figure>\n\n\n\n<p>3. \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u0441\u0442\u0430\u0442\u0435\u0439 \u0434\u043b\u044f \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439 \u043e\u0441\u043d\u043e\u0432\u044b\u0432\u0430\u044f\u0441\u044c \u043d\u0430 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0445 \u0441\u0442\u0430\u0442\u044c\u044f\u0445. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0438\u0448\u0435\u043c \u0437\u0430\u043f\u0440\u043e\u0441:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>MATCH (reader:Reader)\nMATCH (unread_article:Article)\nWHERE NOT ((reader)--&gt;(unread_article))\nMATCH (article:Article)\nWHERE ((reader)--&gt;(article))\nMATCH (unread_article)-&#91;:IS_IN]-&gt;()&lt;-&#91;:IS_IN]-(article)\nCREATE(rec: RecommendationArticleToReader {nickname: reader. nickname })\nWITH rec, unread_article, reader\nMERGE(rec)-&#91;rel:USED_TO_PROMOTE {email: reader.email}]-&gt;(unread_article)\nRETURN rec, unread_article, rel;<\/code><\/pre>\n\n\n\n<p>\u0412 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u043e\u0442\u0431\u0438\u0440\u0430\u0435\u043c \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u043e\u0442 \u043d\u0435\u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0445, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u043d\u043e\u0432\u0443\u044e \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044c RecommendationArticleToReader, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 nickname \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439. \u041f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043d\u043e\u0432\u0443\u044e \u0441\u0432\u044f\u0437\u044c: RECOMMEND_READING, \u0433\u0434\u0435 \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u043c \u043d\u0435 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e, \u0442\u043e\u0439 \u0436\u0435 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438, \u0447\u0442\u043e \u0438 \u0441\u0442\u0430\u0442\u044c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u0436\u0435 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043b \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044c. \u0412 \u0438\u0442\u043e\u0433\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0433\u0440\u0430\u0444:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"609\" src=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/578c2aee15fdd047c85162631288b65b.png\" alt=\"\" class=\"wp-image-829\" srcset=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/578c2aee15fdd047c85162631288b65b.png 1024w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/578c2aee15fdd047c85162631288b65b-300x178.png?_mod=1740924797 300w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/578c2aee15fdd047c85162631288b65b-768x457.png?_mod=1740924798 768w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/578c2aee15fdd047c85162631288b65b-640x381.png?_mod=1740924798 640w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/578c2aee15fdd047c85162631288b65b-841x500.png?_mod=1740924799 841w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u041e\u0431\u0440\u0430\u0449\u0430\u044e \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0432 \u0441\u0432\u044f\u0437\u0438: RECOMMEND_READING \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f email \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044f.<\/p>\n\n\n\n<p>\u0418\u0442\u0430\u043a, \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u044b\u0432\u0435\u0434\u0435\u043c \u0432\u0441\u0435 \u0441\u0432\u044f\u0437\u0438 \u0438 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0438\u0439\u0441\u044f \u0433\u0440\u0430\u0444, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e, \u0432\u043e\u0437\u044c\u043c\u0435\u043c \u043e\u0434\u043d\u043e\u0433\u043e \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044f \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0432\u0441\u0435 \u0441\u0432\u044f\u0437\u0438. \u0414\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0432\u043e\u0437\u044c\u043c\u0435\u043c Ivan Ivanov. \u0418\u0437 \u0433\u0440\u0430\u0444\u0430 \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u043e\u043d \u043f\u0440\u043e\u0447\u0451\u043b, \u0438 \u043a\u0430\u043a\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0435\u043c\u0443 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"822\" height=\"672\" src=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/b9cbd09698a20572d04f625e65382f31.png\" alt=\"\" class=\"wp-image-830\" srcset=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/b9cbd09698a20572d04f625e65382f31.png 822w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/b9cbd09698a20572d04f625e65382f31-300x245.png?_mod=1740924797 300w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/b9cbd09698a20572d04f625e65382f31-768x628.png?_mod=1740924798 768w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/b9cbd09698a20572d04f625e65382f31-640x523.png?_mod=1740924799 640w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/b9cbd09698a20572d04f625e65382f31-612x500.png?_mod=1740924800 612w\" sizes=\"auto, (max-width: 822px) 100vw, 822px\" \/><\/figure>\n\n\n\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043d\u0430\u043f\u0438\u0448\u0435\u043c \u0437\u0430\u043f\u0440\u043e\u0441 \u0447\u0442\u043e\u0431\u044b \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u043f\u043e \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044e Ivan Ivanov:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>MATCH (rec: RecommendationArticleToReader {type:'IvanIva'})-&#91;:RECOMMEND_READING]-&gt;(article:Article)\nRETURN  article,rec;<\/code><\/pre>\n\n\n\n<p>\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"572\" height=\"473\" src=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/e865659fb2f0aaa34cb26226e3c49e27.png\" alt=\"\" class=\"wp-image-836\" srcset=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/e865659fb2f0aaa34cb26226e3c49e27.png 572w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/e865659fb2f0aaa34cb26226e3c49e27-300x248.png?_mod=1740924799 300w\" sizes=\"auto, (max-width: 572px) 100vw, 572px\" \/><\/figure>\n\n\n\n<p>4. \u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u0438, \u043e\u0441\u043d\u043e\u0432\u044b\u0432\u0430\u044f\u0441\u044c \u043d\u0430 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u043d\u044b\u0445 \u0441\u0442\u0430\u0442\u044c\u044f\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u043c\u0435\u044e\u0442 \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u043d\u0443 \u043f\u0440\u043e\u0447\u0442\u0451\u043d\u043d\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e \u0441 \u0434\u0440\u0443\u0433\u0438\u043c \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u043c. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0438\u0448\u0435\u043c \u0437\u0430\u043f\u0440\u043e\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0432\u0435\u0434\u0435\u0442 \u0432\u0441\u0435\u0445 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439 \u0438 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u043d\u044b\u0435 \u0441\u0442\u0430\u0442\u044c\u0438:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>MATCH (reader:Reader)--&gt;(article:Article) \nRETURN reader, article;<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"888\" src=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/9d3cf3e735ecddd10599edc08d894a9d.png\" alt=\"\" class=\"wp-image-825\" srcset=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/9d3cf3e735ecddd10599edc08d894a9d.png 1024w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/9d3cf3e735ecddd10599edc08d894a9d-300x260.png?_mod=1740924796 300w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/9d3cf3e735ecddd10599edc08d894a9d-768x666.png?_mod=1740924796 768w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/9d3cf3e735ecddd10599edc08d894a9d-640x555.png?_mod=1740924796 640w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/9d3cf3e735ecddd10599edc08d894a9d-577x500.png?_mod=1740924797 577w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u0418\u0437 \u0433\u0440\u0430\u0444\u0430 \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0443 \u043c\u043d\u043e\u0433\u0438\u0445 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439 \u0435\u0441\u0442\u044c \u043e\u0431\u0449\u0438\u0435 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0435 \u0441\u0442\u0430\u0442\u044c\u0438, \u0438 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u043e\u0432\u0430\u0442\u044c \u0438\u043c \u0442\u0435 \u0441\u0442\u0430\u0442\u044c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u043e\u0447\u0451\u043b \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044c (\u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0435\u0441\u0442\u044c \u043e\u0431\u0449\u0430\u044f \u043f\u0440\u043e\u0447\u0442\u0451\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f), \u043d\u043e \u043d\u0435 \u043f\u0440\u043e\u0447\u0435\u043b \u0434\u0440\u0443\u0433\u043e\u0439. \u0414\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0432\u043e\u0437\u044c\u043c\u0435\u043c \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044f Ivan Ivanov. \u041f\u0438\u0448\u0435\u043c \u0437\u0430\u043f\u0440\u043e\u0441:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>MATCH (reader_1:Reader{nickname:'IvanIva'})--&gt;(article_1:Article)&lt;--(reader_2:Reader)\nMATCH (reader_2)--&gt;(article_2:Article)\nWHERE (article_2 &lt;&gt; article_1)\nRETURN reader_1, reader_2, article_2,article_1;<\/code><\/pre>\n\n\n\n<p>\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043c\u044b \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u0441\u0442\u0430\u0442\u044c\u044e, \u043d\u0435 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u0443\u044e Ivan\u2019\u043e\u043c, \u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u0443\u044e \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u043c, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0443 Ivan\u2019a \u0435\u0441\u0442\u044c \u043e\u0431\u0449\u0430\u044f \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f. \u0422.\u0435. \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 article_2 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0441\u0442\u0430\u0442\u044c\u044f, \u043d\u0435 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u0430\u044f Ivan\u2019\u043e\u043c. \u0414\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0438\u043b\u0438 \u0432\u0441\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0447\u0442\u043e\u0431\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0441\u0432\u044f\u0437\u044c \u043c\u0435\u0436\u0434\u0443 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044f\u043c\u0438.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"597\" height=\"492\" src=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/6d1503cb78e3ca17fd21c9a896914eef.png\" alt=\"\" class=\"wp-image-828\" srcset=\"https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/6d1503cb78e3ca17fd21c9a896914eef.png 597w, https:\/\/olvas.dev\/wp-content\/uploads\/2025\/03\/6d1503cb78e3ca17fd21c9a896914eef-300x247.png?_mod=1740924797 300w\" sizes=\"auto, (max-width: 597px) 100vw, 597px\" \/><\/figure>\n\n\n\n<p>\u041d\u043e, \u0447\u0442\u043e\u0431\u044b \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0443\u0436\u043d\u044b\u0435 \u0441\u0442\u0430\u0442\u044c\u0438, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e article_2.<\/p>\n\n\n\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u044b\u043b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b Neo4j \u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f. \u042d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0438 \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0433\u0440\u0430\u0444\u043e\u0432\u044b\u0445 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445. \u041d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0441\u0442\u043e\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u0447, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0435\u0448\u0430\u044e\u0442\u0441\u044f \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0433\u0440\u0430\u0444\u043e\u0432. \u0412\u0430\u0436\u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e Neo4j \u044d\u0442\u043e \u043d\u0435 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0441 gephi \u0438\u043b\u0438 networkx \u043d\u0435\u0442 \u0441\u043c\u044b\u0441\u043b\u0430. \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e Neo4j \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435, \u043d\u043e \u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0438\u0445, \u0442\u0430\u043a \u043a\u0430\u043a \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0431\u0430\u0437\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n\n\n\n<p>Copyright: habr.ru<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0430 \u0433\u0440\u0430\u0444\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Neo4j, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e: \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435&nbsp;Neo4j&nbsp;\u0438\u043b\u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0442\u0435\u043e\u0440\u0438\u0438 Neo4j&nbsp;\u2014 \u044d\u0442\u043e&nbsp;\u0433\u0440\u0430\u0444\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445&nbsp;\u0441&nbsp;\u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c, \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u043d\u0430&nbsp;Java. \u041e\u043d\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u0435\u0434\u0443\u0449\u0435\u0439 \u0433\u0440\u0430\u0444\u043e\u0432\u043e\u0439 \u0421\u0423\u0411\u0414 \u0432 \u043c\u0438\u0440\u0435. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":818,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[88,189,188,111,90],"class_list":["post-817","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-likbez","tag-databases","tag-graph-database","tag-neo4j","tag-nosql","tag-90","entry-card--landscape"],"_links":{"self":[{"href":"https:\/\/olvas.dev\/index.php?rest_route=\/wp\/v2\/posts\/817","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/olvas.dev\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/olvas.dev\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/olvas.dev\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/olvas.dev\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=817"}],"version-history":[{"count":2,"href":"https:\/\/olvas.dev\/index.php?rest_route=\/wp\/v2\/posts\/817\/revisions"}],"predecessor-version":[{"id":846,"href":"https:\/\/olvas.dev\/index.php?rest_route=\/wp\/v2\/posts\/817\/revisions\/846"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/olvas.dev\/index.php?rest_route=\/wp\/v2\/media\/818"}],"wp:attachment":[{"href":"https:\/\/olvas.dev\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=817"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/olvas.dev\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=817"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/olvas.dev\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=817"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}