searchRelation

Поисковые отношения для узла базы данных Neo4j

Синтаксис

relinfo = searchRelation(neo4jconn,nodeinfo,direction)
relinfo = searchRelation(neo4jconn,nodeinfo,direction,Name,Value)

Описание

пример

relinfo = searchRelation(neo4jconn,nodeinfo,direction) возвращает информацию об отношении для узла источника nodeinfo и направление отношения с помощью соединения с базой данных Neo4j®. Поиск начинает с узла источника. Чтобы найти узел источника, используйте searchNode или searchNodeByID.

пример

relinfo = searchRelation(neo4jconn,nodeinfo,direction,Name,Value) задает дополнительные опции с помощью одного или нескольких аргументов пары "имя-значение". Например, 'RelationTypes',{'works with'} возвращает информацию для отношений, которые имеют тип works with.

Примеры

свернуть все

Ищите информацию об отношении в базе данных 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 =

     []

Получите узел источника nodeinfo с помощью соединения с базой данных Neo4j и идентификатора узла 3.

nodeid = 3;

nodeinfo = searchNodeByID(neo4jconn,nodeid);

Ищите входящие отношения с помощью соединения с базой данных Neo4j и узла источника nodeinfo.

direction = 'in';

relinfo = searchRelation(neo4jconn,nodeinfo,direction)
relinfo = struct with fields:
       Origin: 3
        Nodes: [2×3 table]
    Relations: [1×5 table]

relinfo является структурой, которая содержит результаты поиска:

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

  • Nodes — Таблица, содержащая всех, запускается и конечные узлы для каждого совпадающего отношения

  • Relations — Таблица, содержащая все совпадающие отношения

Доступ к таблице узлов.

relinfo.Nodes
ans=2×3 table
         NodeLabels      NodeData                  NodeObject             
         __________    ____________    ___________________________________

    1     'Person'     [1×1 struct]    [1x1 database.neo4j.http.Neo4jNode]
    3     'Person'     [1×1 struct]    [1x1 database.neo4j.http.Neo4jNode]

Доступ к таблице отношений.

relinfo.Relations
ans=1×5 table
         StartNodeID    RelationType    EndNodeID    RelationData                RelationObject             
         ___________    ____________    _________    ____________    _______________________________________

    3         1           'knows'           3        [1×1 struct]    [1x1 database.neo4j.http.Neo4jRelation]

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

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 =

     []

Получите узел источника nodeinfo с помощью соединения с базой данных Neo4j и идентификатора узла 3.

nodeid = 3;

nodeinfo = searchNodeByID(neo4jconn,nodeid);

Ищите входящие отношения с помощью соединения с базой данных Neo4j и узла источника nodeinfo. Совершенствуйте поиск путем фильтрации для типа связей knows и для узлов на расстоянии два или меньше.

direction = 'in';
reltypes = {'knows'};

relinfo = searchRelation(neo4jconn,nodeinfo,direction, ...
    'RelationTypes',reltypes,'Distance',2)
relinfo = struct with fields:
       Origin: 3
        Nodes: [4×3 table]
    Relations: [3×5 table]

relinfo является структурой, которая содержит результаты поиска:

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

  • Nodes — Таблица, содержащая всех, запускается и конечные узлы для каждого совпадающего отношения

  • Relations — Таблица, содержащая все совпадающие отношения

Доступ к таблице узлов.

relinfo.Nodes
ans=4×3 table
         NodeLabels      NodeData                  NodeObject             
         __________    ____________    ___________________________________

    0     'Person'     [1×1 struct]    [1x1 database.neo4j.http.Neo4jNode]
    1     'Person'     [1×1 struct]    [1x1 database.neo4j.http.Neo4jNode]
    2     'Person'     [1×1 struct]    [1x1 database.neo4j.http.Neo4jNode]
    3     'Person'     [1×1 struct]    [1x1 database.neo4j.http.Neo4jNode]

Доступ к таблице отношений.

relinfo.Relations
ans=3×5 table
         StartNodeID    RelationType    EndNodeID    RelationData                RelationObject             
         ___________    ____________    _________    ____________    _______________________________________

    3         1           'knows'           3        [1×1 struct]    [1x1 database.neo4j.http.Neo4jRelation]
    2         2           'knows'           1        [1×1 struct]    [1x1 database.neo4j.http.Neo4jRelation]
    1         0           'knows'           1        [1×1 struct]    [1x1 database.neo4j.http.Neo4jRelation]

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

close(neo4jconn)

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

свернуть все

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

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

Типы данных: double

Направление отношения, заданное или как 'in' для входящего отношения или как 'out' для исходящего отношения. Отношения сопоставлены с заданным узлом источника.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: relinfo = searchRelation(neo4jconn,nodeinfo,'in','RelationTypes',{'knows'},'Distance',2) возвращает информацию об отношении для входящих отношений, которые имеют тип связей knows и являются двумя или меньшим количеством узлов далеко от узла источника.

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

Пример: 'RelationTypes',{'knows'}

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

Расстояние узла, заданное как пара, разделенная запятой, состоящая из 'Distance' и положительного числового скаляра. Например, если расстояние узла равняется трем, searchRelation возвращает информацию для узлов, которые являются тремя или меньшим количеством узлов далеко от узла источника nodeinfo.

Пример: 'Distance',3

Типы данных: double

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

свернуть все

Информация об отношении в базе данных Neo4j, которая совпадает с критериями поиска от узла источника nodeinfo, возвратилась как структура с этими полями.

Поле Описание

Origin

Идентификатор узла узла источника nodeinfo.

Nodes

Таблица, которая содержит информацию об узле для каждого узла в таблице Relations. Таблица Nodes содержит эти переменные:

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

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

  • Объект NodeObjectNeo4jNode, который представляет каждый совпадающий узел базы данных

Имена строки в таблице являются идентификаторами узла Neo4j совпадающих узлов базы данных.

Relations

Таблица, которая содержит информацию об отношении для узлов в таблице Nodes. Таблица Relations содержит эти переменные:

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

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

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

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

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

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

Введенный в R2017b