neo4jStruct2Digraph

Преобразуйте график или структуру отношений из базы Neo4j в ориентированный график

Описание

пример

G = neo4jStruct2Digraph(s) создает ориентированный график из структуры s. С помощью ориентированного графа запустите аналитику графовой сети с использованием MATLAB®. Для примера, чтобы визуализировать график, смотрите Графическое построение и Индивидуальную настройку.

пример

G = neo4jStruct2Digraph(s,'NodeNames',nodenames) задает имена Neo4j® узлы базы данных в ориентированном графе.

Примеры

свернуть все

Создайте соединение с базой данных 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 =

     []

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

nodeid = 1;
direction = 'in';

relinfo = searchRelation(neo4jconn,nodeid,direction);

Преобразуйте информацию о взаимоотношениях в ориентированный график. G является digraph объект, который содержит две таблицы для ребер и узлов.

G = neo4jStruct2Digraph(relinfo)
G = 
  digraph with properties:

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

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

G.Edges
ans=2×3 table
     EndNodes     RelationType    RelationData
    __________    ____________    ____________

    '0'    '1'      'knows'       [1×1 struct]
    '2'    '1'      'knows'       [1×1 struct]

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

G.Nodes
ans=3×3 table
    Name    NodeLabels      NodeData  
    ____    __________    ____________

    '0'      'Person'     [1×1 struct]
    '1'      'Person'     [1×1 struct]
    '2'      'Person'     [1×1 struct]

Нахождение кратчайшего пути между всеми узлами в G.

d = distances(G)
d = 3×3

     0     1   Inf
   Inf     0   Inf
   Inf     1     0

Закройте подключение к базе данных.

close(neo4jconn)

Создайте соединение с базой данных 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 =

     []

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

nlabel = {'Person'};

graphinfo = searchGraph(neo4jconn,nlabel);

Преобразуйте информацию о графике в ориентированный граф. G является digraph объект, который содержит две таблицы для ребер и узлов.

G = neo4jStruct2Digraph(graphinfo)
G = 
  digraph with properties:

    Edges: [8×3 table]
    Nodes: [7×3 table]

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

G.Edges
ans=8×3 table
     EndNodes     RelationType    RelationData
    __________    ____________    ____________

    '0'    '1'      'knows'       [1×1 struct]
    '0'    '2'      'knows'       [1×1 struct]
    '1'    '3'      'knows'       [1×1 struct]
    '2'    '1'      'knows'       [1×1 struct]
    '3'    '4'      'knows'       [1×1 struct]
    '3'    '5'      'knows'       [1×1 struct]
    '5'    '4'      'knows'       [1×1 struct]
    '5'    '9'      'knows'       [1×1 struct]

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

G.Nodes
ans=7×3 table
    Name    NodeLabels      NodeData  
    ____    __________    ____________

    '0'      'Person'     [1×1 struct]
    '1'      'Person'     [1×1 struct]
    '2'      'Person'     [1×1 struct]
    '3'      'Person'     [1×1 struct]
    '4'      'Person'     [1×1 struct]
    '5'      'Person'     [1×1 struct]
    '9'      'Person'     [1×1 struct]

Нахождение кратчайшего пути между всеми узлами в G.

d = distances(G)
d = 7×7

     0     1     1     2     3     3     4
   Inf     0   Inf     1     2     2     3
   Inf     1     0     2     3     3     4
   Inf   Inf   Inf     0     1     1     2
   Inf   Inf   Inf   Inf     0   Inf   Inf
   Inf   Inf   Inf   Inf     1     0     1
   Inf   Inf   Inf   Inf   Inf   Inf     0

Закройте подключение к базе данных.

close(neo4jconn)

Создайте соединение с базой данных 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 =

     []

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

nlabel = {'Person'};

graphinfo = searchGraph(neo4jconn,nlabel);

Преобразуйте информацию о графике в ориентированный граф с помощью имен узлов в подграфике. Преобразуйте имена узлов в массив ячеек из векторов символов nodenames. G является digraph объект, который содержит две таблицы для ребер и узлов.

names = [graphinfo.Nodes.NodeData{:}];
nodenames = {names(:).name};

G = neo4jStruct2Digraph(graphinfo,'NodeNames',nodenames)
G = 
  digraph with properties:

    Edges: [8×3 table]
    Nodes: [7×3 table]

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

G.Edges
ans=8×3 table
         EndNodes         RelationType    RelationID
    __________________    ____________    __________

    'User1'    'User3'      'knows'           1     
    'User1'    'User2'      'knows'           0     
    'User3'    'User4'      'knows'           3     
    'User2'    'User3'      'knows'           2     
    'User4'    'User5'      'knows'           5     
    'User4'    'User6'      'knows'           4     
    'User6'    'User5'      'knows'           6     
    'User6'    'User7'      'knows'           8     

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

G.Nodes
ans=7×3 table
     Name      NodeLabels      NodeData  
    _______    __________    ____________

    'User1'     'Person'     [1×1 struct]
    'User3'     'Person'     [1×1 struct]
    'User2'     'Person'     [1×1 struct]
    'User4'     'Person'     [1×1 struct]
    'User5'     'Person'     [1×1 struct]
    'User6'     'Person'     [1×1 struct]
    'User7'     'Person'     [1×1 struct]

Нахождение кратчайшего пути между всеми узлами в G.

d = distances(G)
d = 7×7

     0     1     1     2     3     3     4
   Inf     0   Inf     1     2     2     3
   Inf     1     0     2     3     3     4
   Inf   Inf   Inf     0     1     1     2
   Inf   Inf   Inf   Inf     0   Inf   Inf
   Inf   Inf   Inf   Inf     1     0     1
   Inf   Inf   Inf   Inf   Inf   Inf     0

Закройте подключение к базе данных.

close(neo4jconn)

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

свернуть все

Информация о графике или взаимоотношениях, заданная как структура, возвращаемая searchGraph или searchRelation.

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

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

Пример: ["User6","User7"]

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

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

свернуть все

Ориентированный граф, возвращенный как digraph объект.

Введенный в R2016b