exponenta event banner

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