В этом примере показано, как создать, обновить и удалить информацию в социальном районе, который представлен базой данных 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