updateRelation

Обновите свойства отношения в базе данных Neo4j

Синтаксис

updateRelation(neo4jconn,relation,properties)
relationinfo = updateRelation(neo4jconn,relation,properties)

Описание

пример

updateRelation(neo4jconn,relation,properties) обновляет свойства для одного или нескольких отношений в базе данных Neo4j® с помощью соединения с базой данных Neo4j.

пример

relationinfo = updateRelation(neo4jconn,relation,properties) возвращает обновленную информацию об отношении как объект Neo4jRelation для одного отношения, или как таблица для нескольких отношений.

Примеры

свернуть все

Создайте одно отношение между двумя узлами в базе данных Neo4j® и обновите свойства отношения.

Создайте соединение с базой данных 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';
startnode = createNode(neo4jconn,'Labels',label);
endnode = createNode(neo4jconn,'Labels',label);

Создайте отношение между этими двумя узлами с помощью соединения с базой данных Neo4j. Задайте тип связей как works with. Вывод relationinfo является объектом Neo4jRelation.

relationtype = 'works with';
relationinfo = createRelation(neo4jconn,startnode,endnode,relationtype);

Обновите отношение, чтобы включать еще два свойства. Узлы представляют двух коллег, которые начали работать совместно на проекте под названием Database 1 сентября 2017. Задайте название проекта и дату начала как свойства отношения при помощи структуры properties.

properties.Project = 'Database';
properties.StartDate = '09/01/2017';
updateRelation(neo4jconn,relationinfo,properties)

Отобразите обновленную информацию об отношении.

relationid = relationinfo.RelationID;
relationinfo = searchRelationByID(neo4jconn,relationid);
relationinfo.RelationType
ans = 
'works with'
relationinfo.RelationData
ans = struct with fields:
    StartDate: '09/01/2017'
      Project: 'Database'

Закройте соединение с базой данных.

close(neo4jconn)

Создайте одно отношение между двумя узлами в базе данных Neo4j®, обновите свойства отношения и отобразите свойства. Доступ к обновленной информации об отношении с помощью выходного аргумента.

Создайте соединение с базой данных 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';
startnode = createNode(neo4jconn,'Labels',label);
endnode = createNode(neo4jconn,'Labels',label);

Создайте отношение между этими двумя узлами с помощью соединения с базой данных Neo4j. Задайте тип связей как works with. Вывод relationinfo является объектом Neo4jRelation.

relationtype = 'works with';
relationinfo = createRelation(neo4jconn,startnode,endnode,relationtype);

Обновите отношение, чтобы включать еще два свойства. Узлы представляют двух коллег, которые начали работать совместно на проекте под названием Database 1 сентября 2017. Задайте название проекта и дату начала как свойства отношения при помощи структуры properties.

properties.Project = 'Database';
properties.StartDate = '09/01/2017';
relationinfo = updateRelation(neo4jconn,relationinfo,properties)
relationinfo = 
  Neo4jRelation with properties:

      RelationID: 18
    RelationData: [1×1 struct]
     StartNodeID: 50
    RelationType: 'works with'
       EndNodeID: 51

relationinfo является объектом Neo4jRelation, который содержит эти свойства:

  • Идентификатор отношения

  • Данные об отношении

  • Запустите идентификатор узла

  • Тип связей

  • Идентификатор конечного узла

Отобразите обновленные свойства отношения.

relationinfo.RelationData
ans = struct with fields:
    StartDate: '09/01/2017'
      Project: 'Database'

Закройте соединение с базой данных.

close(neo4jconn)

Создайте два отношения между узлами в базе данных Neo4j®, обновите свойства отношений и отобразите свойства.

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

Создайте соединение с базой данных 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 =

     []

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

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

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

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

Создайте два отношения с помощью соединения с базой данных 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 работает с User7 на рабочем месте и исследованиями User8 с User9 в библиотеке. Кроме того, User8 начал работать с User7 2 января 2017, и User8 начал учиться с User9 6 марта 2017.

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

Обновите оба отношения с этими свойствами.

relations = relationinfo.RelationObject;
relationinfo = updateRelation(neo4jconn,relations,properties)
relationinfo=2×5 table
          StartNodeID     RelationType     EndNodeID    RelationData                RelationObject             
          ___________    ______________    _________    ____________    _______________________________________

    12        17         'works with'          9        [1×1 struct]    [1x1 database.neo4j.http.Neo4jRelation]
    11        17         'studies with'       18        [1×1 struct]    [1x1 database.neo4j.http.Neo4jRelation]

relationinfo является таблицей с этими переменными:

  • Запустите идентификатор узла

  • Тип связей

  • Идентификатор конечного узла

  • Данные об отношении

  • Объект Neo4jRelation

Отобразите обновленные свойства отношений.

relationinfo.RelationData{1}
ans = struct with fields:
        Date: '01/02/2017'
    Location: 'Workplace'

relationinfo.RelationData{2}
ans = struct with fields:
        Date: '03/06/2017'
    Location: 'Library'

Закройте соединение с базой данных.

close(neo4jconn)

Входные параметры

свернуть все

Соединение с базой данных Neo4j, заданное как объект Neo4jConnect, создается с функциональным neo4j.

Отношение в базе данных Neo4j, заданной как объект Neo4jRelation, объектный массив Neo4jRelation, числовой скаляр или числовой вектор. Для одного отношения используйте объект Neo4jRelation или числовой скаляр, который содержит идентификатор отношения. Для нескольких отношений используйте объектный массив Neo4jRelation или числовой вектор, который содержит массив идентификаторов отношения.

Пример: 15

Пример: [15,16,17]

Свойства отношения, заданные как структура, массив структур, таблица или массив ячеек структур.

Когда вы задаете структуру, функция updateRelation преобразовывает каждое поле и его соответствующее значение к свойству и его соответствующее значение в отношении базы данных. Когда вы задаете таблицу с одной строкой, функция преобразовывает каждую переменную и ее соответствующее значение к свойству и ее соответствующее значение в отношении базы данных.

Функция updateRelation также устанавливает переменную RelationObject выходного аргумента relationinfo объекту Neo4jRelation, который содержит информацию об отношении.

Для нескольких отношений задайте массив структур или таблицу с несколькими строками.

Для нескольких отношений с различными свойствами задайте массив ячеек структур.

Примечание

Если свойство пропускает свое соответствующее значение, то обновленное отношение не содержит это свойство.

Типы данных: struct | table | cell

Выходные аргументы

свернуть все

Информация об отношении, возвращенная как объект Neo4jRelation для одного отношения или как таблица для нескольких отношений.

Для нескольких отношений таблица содержит эти переменные:

  • StartNodeID — Идентификатор узла узла запуска для каждого совпадающего отношения

  • RelationType — Вектор символов, который обозначает тип связей для каждого совпадающего отношения

  • EndNodeID — Идентификатор узла конечного узла для каждого совпадающего отношения

  • RelationData — Массив структур, который содержит ключи свойства, сопоставленные с каждым совпадающим отношением

  • Объект RelationObjectNeo4jRelation для каждого совпадающего отношения

Имена строки в таблице являются идентификаторами отношения Neo4j.

Введенный в R2018a