searchRelation

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

Описание

пример

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®. Возвратите информацию как ориентированного графа и отобразите ребра и вершины графика.

Примите, что вам сохранили данные о графике в базе данных 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. Возвратите информацию об отношении как ориентированного графа при помощи 'DataReturnFormat' аргумент пары "имя-значение" со значением 'digraph'.

direction = 'out';
relinfo = searchRelation(neo4jconn,nodeinfo,direction, ...
    'DataReturnFormat','digraph')
relinfo = 
  digraph with properties:

    Edges: [2×3 table]
    Nodes: [3×3 table]

Отобразите ребра ориентированного графа.

relinfo.Edges
ans=2×3 table
       EndNodes       RelationType    RelationData
    ______________    ____________    ____________

    {'3'}    {'4'}     {'knows'}      {1×1 struct}
    {'3'}    {'5'}     {'knows'}      {1×1 struct}

Отобразите узлы ориентированного графа.

relinfo.Nodes
ans=3×3 table
    Name     NodeLabels      NodeData  
    _____    __________    ____________

    {'3'}    {'Person'}    {1×1 struct}
    {'4'}    {'Person'}    {1×1 struct}
    {'5'}    {'Person'}    {1×1 struct}

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

close(neo4jconn)

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

свернуть все

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

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

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

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

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. 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

Данные возвращают формат в виде разделенной запятой пары, состоящей из 'DataReturnFormat' и значение 'struct' для структуры или 'digraph' для a digraph объект. Задайте этот аргумент, чтобы возвратить информацию об отношении как digraph объект.

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

свернуть все

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

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

Origin

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

Nodes

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

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

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

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

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

Relations

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

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

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

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

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

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

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

Примечание

Когда вы используете 'DataReturnFormat' аргумент пары "имя-значение" со значением 'digraph', searchRelation функция возвращает информацию об отношении в digraph объект. Получившийся digraph объект содержит те же данные как digraph объект создал, когда вы выполняетесь neo4jStruct2Digraph функция с помощью relinfo выходной аргумент.

Введенный в R2017b