createRelation

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

Синтаксис

createRelation(neo4jconn,startnode,endnode,relationtype)
createRelation(neo4jconn,startnode,endnode,relationtype,'Properties',properties)
relationinfo = createRelation(___)

Описание

пример

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

пример

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

пример

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

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 с помощью 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. Узлы представляют двух коллег, которые начали работать совместно на проекте под названием 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 с помощью 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

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

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