Этот пример показывает, как создать, обновить, и удалить информацию в социальном окружении, которое представлено базой данных Neo4j®, с помощью интерфейса MATLAB® для Neo4j.
Для получения дополнительной информации об интерфейсе MATLAB к Neo4j, смотрите Рабочий процесс Базы данных Графика для Интерфейсов БД Neo4j.
Примите, что вам сохранили данные о графике в базе данных Neo4j, которая представляет социальное окружение. Эта база данных имеет семь узлов и восемь отношений. Каждый узел имеет только один ключ name
уникального свойства со значением в пределах от User1
через User7
. Каждое отношение имеет тип knows
.
Локальная машина размещает базу данных Neo4j с номером порта 7474
, имя пользователя neo4j
и пароль matlab
. Эта фигура обеспечивает визуальное представление данных в базе данных.
Создайте объект neo4jconn
связи Neo4j с помощью http://localhost:7474/db/data
URL, имени пользователя neo4j
и пароль matlab
.
url = 'http://localhost:7474/db/data'; username = 'neo4j'; password = 'matlab'; neo4jconn = neo4j(url,username,password);
Проверяйте свойство Message
объекта neo4jconn
связи Neo4j. Пустое свойство 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)
Neo4jNode
| addNodeLabel
| close
| createNode
| createRelation
| deleteNode
| deleteRelation
| neo4j
| setNodeProperty
| setRelationProperty