createRelation

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

Описание

пример

createRelation(neo4jconn,startnode,endnode,relationtype) создает одну связь или несколько отношений между начальными узлами и конечными узлами с заданными типами отношений при помощи Neo4j® подключение к базе данных.

пример

createRelation(neo4jconn,startnode,endnode,relationtype,'Properties',properties) задает свойства новых отношений.

пример

relationinfo = createRelation(___) возвращает информацию о взаимоотношениях как 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.

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

Поиск новой связи и отображение ее типа.

direction = "out";
relinfo = searchRelation(neo4jconn,startnode,direction, ...
    'RelationTypes',relationtype,'Distance',2);
relinfo.Relations.RelationType
ans = 1×1 cell array
    {'works with'}

Закройте подключение к базе данных.

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 подключения к базе данных. Узлы представляют двух коллег, которые начали работать вместе над проектом с именем Database 1 сентября 2017 года. Задайте тип связи следующим works with. Укажите имя проекта и дату начала в качестве свойств отношения при помощи properties структура.

relationtype = 'works with';
properties.Project = 'Database';
properties.StartDate = '09/01/2017';
createRelation(neo4jconn,startnode,endnode,relationtype, ...
    'Properties',properties)

Поиск новой связи и отображение ее свойств.

direction = "out";
relinfo = searchRelation(neo4jconn,startnode,direction, ...
    'RelationTypes',relationtype,'Distance',2);
relinfo.Relations.RelationData{1}
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

startnode = [user8,user8];
endnode = [user7,user9];
relationtype = {'works with','studies with'};
relationinfo = createRelation(neo4jconn,startnode,endnode,relationtype)
relationinfo=2×5 table
         StartNodeID     RelationType     EndNodeID    RelationData                RelationObject             
         ___________    ______________    _________    ____________    _______________________________________

    9         6         'works with'          9        [1×1 struct]    [1x1 database.neo4j.http.Neo4jRelation]
    7         6         'studies with'        7        [1×1 struct]    [1x1 database.neo4j.http.Neo4jRelation]

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

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

  • Тип отношения

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

  • Данные о взаимоотношениях

  • Neo4jRelation объект

Отобразите Neo4jRelation объект для первого отношения.

relation = relationinfo.RelationObject(1)
relation = 
  Neo4jRelation with properties:

      RelationID: 9
    RelationData: [1×1 struct]
     StartNodeID: 6
    RelationType: 'works with'
       EndNodeID: 9

relation является Neo4jRelation объект со следующими свойствами:

  • Идентификатор связи

  • Данные о взаимоотношениях

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

  • Тип отношения

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

Закройте подключение к базе данных.

close(neo4jconn)

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

свернуть все

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

Стартовый узел, заданный как числовой скаляр, числовой вектор, Neo4jNode объект, или Neo4jNode объектный массив. Чтобы задать узлы базы данных, используя идентификаторы узлов, используйте числовой скаляр для одного узла или числовой вектор для нескольких узлов. Чтобы задать узлы базы данных следующим Neo4jNode объекты, используйте объект для одного узла или массив объектов для нескольких узлов.

Количество начальных узлов должно совпадать с количеством конечных узлов в endnode.

Количество стартовых узлов равняется количеству отношений, созданных createRelation функция в базе данных Neo4j.

Пример: 8

Конечный узел, заданный как числовой скаляр, числовой вектор Neo4jNode объект, или Neo4jNode объектный массив. Чтобы задать узлы базы данных, используя идентификаторы узлов, используйте числовой скаляр для одного узла или числовой вектор для нескольких узлов. Чтобы задать узлы базы данных следующим Neo4jNode объекты, используйте объект для одного узла или массив объектов для нескольких узлов.

Количество конечных узлов должно совпадать с количеством начальных узлов в startnode.

Количество конечных узлов равняется количеству отношений, созданных createRelation функция в базе данных Neo4j.

Пример: 9

Тип отношения, заданный как вектор символов, строковый скаляр, массив ячеек векторов символов или строковых массивов. Чтобы задать один тип связи, используйте вектор символов или строковый скаляр. Чтобы задать несколько типов отношений, используйте массив ячеек из векторов символов или строковые массивы.

Если вы задаете только один тип связи, все отношения должны иметь один и тот же тип. В противном случае количество типов отношений в этом входном параметре должно совпадать с числом узлов в startnode и endnode.

Пример: 'knows'

Типы данных: char | string | cell

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

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

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

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

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

Примечание

Если свойству не хватает соответствующего значения, обновленная связь не содержит этого свойства.

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

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

свернуть все

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

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

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

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

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

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

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

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

Введенный в R2018a