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 соединение с базой данных с помощью 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 =

     []

Извлеките источник 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 соединение с базой данных с помощью 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 =

     []

Извлеките источник 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 соединение с базой данных с помощью 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 =

     []

Извлеките источник 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.

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

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

Направление связи, заданное как 'in' для входящей связи или 'out' для исходящей связи. Связи связаны с указанным исходным узлом.

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

Задайте необязательные разделенные разделенными запятой парами 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' для digraph объект. Задайте этот аргумент, чтобы вернуть информацию о взаимоотношениях как digraph объект.

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

свернуть все

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

ОбластьОписание

Origin

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

Nodes

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

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

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

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

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

Relations

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

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

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

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

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

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

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

Примечание

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

Введенный в R2016b