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

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

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

Предположим, что у вас есть графовые данные, хранящиеся в 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)

См. также

| | | | | | | | |

Похожие темы

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