exponenta event banner

Обновление информации о друзьях в социальном районе

В этом примере показано, как создавать, обновлять и удалять информацию в социальной области, представляемой базой данных Neo4j ®, с помощью интерфейса MATLAB ® для Neo4j.

Дополнительные сведения об интерфейсе MATLAB для Neo4j см. в разделе Рабочий процесс базы данных Graph для интерфейсов базы данных Neo4j.

Предположим, что данные графика хранятся в базе данных Neo4j, представляющей социальное соседство. Эта база данных имеет семь узлов и восемь взаимосвязей. Каждый узел имеет только один уникальный ключ свойства name со значением в диапазоне от User1 через User7. Каждая связь имеет тип knows.

На локальном компьютере размещена база данных Neo4j с номером порта 7474Имя пользователя neo4j, и пароль matlab. На этом рисунке представлено визуальное представление данных в базе данных.

Подключиться к базе данных Neo4j

Создание объекта Neo4j соединения neo4jconn с использованием URL-адреса http://localhost:7474/db/dataИмя пользователя neo4j, и пароль matlab.

url = 'http://localhost:7474/db/data';
username = 'neo4j';
password = 'matlab';

neo4jconn = neo4j(url,username,password);

Проверьте Message свойство объекта подключения Neo4j neo4jconn. Бланк Message указывает на успешное подключение.

neo4jconn.Message
ans =

     []

Добавить двух друзей в социальное соседство

Создайте два узла в базе данных с помощью Neo4j подключения к базе данных. Используйте 'Labels' аргумент пары имя-значение для указания метки Person для каждого узла.

label = 'Person';
user8 = createNode(neo4jconn,'Labels',label);
user9 = createNode(neo4jconn,'Labels',label);

Поиск узла с меткой Person и ключ свойства name задайте значение User7 с помощью подключения к базе данных Neo4j.

nlabel = 'Person';
user7 = searchNode(neo4jconn,nlabel,'PropertyKey','name', ...
    'PropertyValue','User7');

Создайте две связи с помощью подключения к базе данных Neo4j. Укажите типы отношений как works with и studies with. Двумя взаимосвязями являются:

  • User8 работает с User7

  • User8 исследования с User9

relationinfo - таблица, содержащая информацию о связи и узле.

startnode = [user8,user8];
endnode = [user7,user9];
relationtype = {'works with','studies with'};
relationinfo = createRelation(neo4jconn,startnode,endnode,relationtype);

Обновить сведения о узле для добавленного друга

Обновление свойств узла User8. Создайте таблицу с одной строкой, содержащей имя и должность этого пользователя. nodeinfo является Neo4jNode объект.

properties = table("User8","Analyst",'VariableNames',{'Name','Title'});
nodeinfo = setNodeProperty(neo4jconn,user8,properties);

Добавление метки узла Student кому User9.

labels = 'Student';
nodeinfo = addNodeLabel(neo4jconn,user9,labels);

Обновить сведения об отношениях для добавленных друзей

Создайте таблицу, определяющую свойства взаимосвязи. Здесь, User8 работает с User7 на рабочем месте и User8 исследования с User9 в библиотеке. Также, User8 начал работать с User7 2 января 2017 года и User8 начал учиться с User9 6 марта 2017 года.

properties = table(["Workplace";"Library"],["01/02/2017";"03/06/2017"], ...
    'VariableNames',{'Location','Date'});

Обновите обе связи с помощью этих свойств. relationinfo - таблица, содержащая обновленные связи.

relations = relationinfo.RelationObject;
relationinfo = setRelationProperty(neo4jconn,relations,properties);

Удалить связь для добавленного друга

Удалить связь, которая подключается User8 кому User7.

relation = relations(1);
deleteRelation(neo4jconn,relation)

Удалить друзей

Удалите добавленные узлы и все связанные связи.

nodes = [user8,user9];
deleteNode(neo4jconn,nodes,'DeleteRelations',true)

Закрыть подключение к базе данных

close(neo4jconn)

См. также

| | | | | | | | |

Связанные темы

Внешние веб-сайты