В этом примере показано, как создать, обновить и удалить информацию в социальном районе, который представлен базой данных Neo4j ®, используя интерфейс MATLAB ® для Neo4j.
Для получения дополнительной информации об интерфейсе MATLAB, который требуется Neo4j, смотрите Рабочий процесс для Neo4j интерфейсов базы данных в Graph Database.
Предположим, что у вас есть графовые данные, хранящиеся в Neo4j базе данных, которая представляет социальную окрестность. Эта база данных имеет семь узлов и восемь отношений. Каждый узел имеет только один уникальный ключ свойств name со значением в диапазоне от User1 через User7. Каждая связь имеет тип knows.
Локальный компьютер размещает базу данных Neo4j с номером порта 7474, имя пользователя neo4j, и пароль matlab. Этот рисунок обеспечивает визуальное представление данных в базе данных.
Создайте объект 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)
addNodeLabel | close | createNode | createRelation | deleteNode | deleteRelation | neo4j | Neo4jNode | setNodeProperty | setRelationProperty