createRelation

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

Описание

пример

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

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

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

Пример 8

Конечный узел в виде числового скаляра, числового вектора, Neo4jNode объект или Neo4jNode objectArray. Чтобы задать узлы базы данных с помощью идентификаторов узла, используйте числовой скаляр для одного узла или числовой вектор для нескольких узлов. Задавать узлы базы данных как 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