updateRelation

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

Описание

пример

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

пример

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

Примеры

свернуть все

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

Создайте Neo4j соединение с базой данных с помощью 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';
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 соединение с базой данных с помощью 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';
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 соединение с базой данных с помощью 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 =

     []

Поиск узла с меткой 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