searchGraph

Ищите подграф или целый график в базе данных Neo4j

Синтаксис

graphinfo = searchGraph(neo4jconn,criteria)

Описание

пример

graphinfo = searchGraph(neo4jconn,criteria) возвращает информацию о графике на основе критериев поиска с помощью соединения с базой данных Neo4j®. Можно искать подграф или целый график.

Примеры

свернуть все

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

     []

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

nlabel = {'Person'};

graphinfo = searchGraph(neo4jconn,nlabel)
graphinfo = struct with fields:
        Nodes: [7×3 table]
    Relations: [8×5 table]

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

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

  • Все совпадающие отношения

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

graphinfo.Nodes
ans=7×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]
    4     'Person'     [1×1 struct]    [1x1 database.neo4j.http.Neo4jNode]
    5     'Person'     [1×1 struct]    [1x1 database.neo4j.http.Neo4jNode]
    9     'Person'     [1×1 struct]    [1x1 database.neo4j.http.Neo4jNode]

Ключи свойства Access для первого узла.

graphinfo.Nodes.NodeData{1}
ans = struct with fields:
    name: 'User1'

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

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

    1         0           'knows'           1        [1×1 struct]    [1x1 database.neo4j.http.Neo4jRelation]
    0         0           'knows'           2        [1×1 struct]    [1x1 database.neo4j.http.Neo4jRelation]
    3         1           'knows'           3        [1×1 struct]    [1x1 database.neo4j.http.Neo4jRelation]
    2         2           'knows'           1        [1×1 struct]    [1x1 database.neo4j.http.Neo4jRelation]
    5         3           'knows'           4        [1×1 struct]    [1x1 database.neo4j.http.Neo4jRelation]
    4         3           'knows'           5        [1×1 struct]    [1x1 database.neo4j.http.Neo4jRelation]
    6         5           'knows'           4        [1×1 struct]    [1x1 database.neo4j.http.Neo4jRelation]
    8         5           'knows'           9        [1×1 struct]    [1x1 database.neo4j.http.Neo4jRelation]

Ключи свойства Access для первого отношения. Первое отношение не имеет никаких ключей свойства.

graphinfo.Relations.RelationData{1}
ans = struct with no fields.


Ищите график все метки узла в базе данных.

allnodes = nodeLabels(neo4jconn);

graphinfo = searchGraph(neo4jconn,allnodes);

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

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 =

     []

Ищите график тип связей 'knows' с помощью соединения с базой данных Neo4j.

reltype = {'knows'};

graphinfo = searchGraph(neo4jconn,reltype)
graphinfo = struct with fields:
        Nodes: [7×3 table]
    Relations: [8×5 table]

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

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

  • Все совпадающие отношения

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

graphinfo.Nodes
ans=7×3 table
         NodeLabels      NodeData                  NodeObject             
         __________    ____________    ___________________________________

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

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

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

    0         0           'knows'           2        [1×1 struct]    [1x1 database.neo4j.http.Neo4jRelation]
    1         0           'knows'           1        [1×1 struct]    [1x1 database.neo4j.http.Neo4jRelation]
    2         2           'knows'           1        [1×1 struct]    [1x1 database.neo4j.http.Neo4jRelation]
    3         1           'knows'           3        [1×1 struct]    [1x1 database.neo4j.http.Neo4jRelation]
    4         3           'knows'           5        [1×1 struct]    [1x1 database.neo4j.http.Neo4jRelation]
    5         3           'knows'           4        [1×1 struct]    [1x1 database.neo4j.http.Neo4jRelation]
    6         5           'knows'           4        [1×1 struct]    [1x1 database.neo4j.http.Neo4jRelation]
    8         5           'knows'           9        [1×1 struct]    [1x1 database.neo4j.http.Neo4jRelation]

Ищите график все типы связей в базе данных.

allreltypes = relationTypes(neo4jconn);

graphinfo = searchGraph(neo4jconn,allreltypes);

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

close(neo4jconn)

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

свернуть все

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

Критерии поиска, заданные как массив ячеек из символьных векторов или массив строк. Чтобы искать узлами, задайте одну или несколько меток узла как векторы символов в массиве ячеек. Чтобы искать отношениями, задайте один или несколько типов связей как векторы символов в массиве ячеек. Или, задайте массив строк для нескольких меток узла или типов связей.

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

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

свернуть все

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

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

Nodes

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

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

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

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

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

Если criteria содержит метки узла, вывод автоматически сортируется по StartNodeID и Label.

Relations

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

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

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

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

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

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

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

Если criteria содержит типы связей, вывод автоматически сортируется по RelationID.

Введенный в R2017b