В этом примере показано, как написать скрипт для анализа данных, хранящихся в графовой базе данных, и развернуть скрипт как автономное приложение. Написание кода, который соединяется с базой данных Neo4j ®, импортирует данные из базы данных в MATLAB ®, анализирует данные и закрывает соединение с базой данных. Затем можно развернуть код, скомпилировав его как автономное приложение с помощью приложения Application Compiler (MATLAB Compiler) и запустив приложение на других машинах.
В целом, пример следует шагам, описанным в разделе Создание автономного приложения из MATLAB (MATLAB Compiler), и обновляет шаги для автономного приложения базы данных.
Убедитесь, что у вас есть права администратора на других компьютерах, чтобы запустить автономное приложение.
Написание скрипта MATLAB с именем findShortestPathBetweenPeople.m
и сохраните его в выбранном местоположении файла. Скрипт содержит findShortestPathBetweenPeople
функция, которая возвращает расстояние между двумя людьми в график сети. Функция выполняет следующие действия:
Подключение к Neo4j базе данных, выполняемой на локальном компьютере
Импортирует данные графика и преобразует его в ориентированный граф
Выполняет анализ кратчайшего пути
Закрывает соединение с базой данных
type findShortestPathBetweenPeople.m
function distance = findShortestPathBetweenPeople(userA,userB) % FINDSHORTESTPATHBETWEENPEOPLE The findShortestPathBetweenPeople function % connects to a Neo4j® database, imports data from the database into % MATLAB®, finds the shortest path between two people, and closes the % database connection. %% % Create a Neo4j connection object |neo4jconn| using the URL % |http://localhost:7474/db/data|, user name |neo4j|, and password % |matlab|. url = 'http://localhost:7474/db/data'; username = 'neo4j'; password = 'matlab'; neo4jconn = neo4j(url,username,password); %% % Find all the |Person| nodes and all the relationships associated with % each |Person| node using |searchGraph|. social_graphdata = searchGraph(neo4jconn,{'Person'}); %% % Using the table |social_graphdata.Nodes|, access the |name| property for % each node that appears in the |NodeData| variable of the table. % % Assign the table |social_graphdata.Nodes| to |nodestable|. nodestable = social_graphdata.Nodes; %% % Assign the row names for each row in the table |nodestable| to % |rownames|. rownames = nodestable.Properties.RowNames; %% % Access the |NodeData| variable from |nodestable| for each row. |nodedata| % contains an array of structures. nodedata = [nodestable.NodeData{rownames}]; %% % To retrieve the |name| field from each structure, index into the array. % |nodenames| is a cell array of character vectors that contains node names. nodenames = {nodedata(:).name}; %% % Create the |digraph| object |social_graph| using the % |neo4jStruct2Digraph| function with the graph data stored in % |social_graphdata| and the node names stored in |nodenames|. social_graph = neo4jStruct2Digraph(social_graphdata,'NodeNames',nodenames); %% % Find the shortest path between |UserA| and |UserB| using |shortestpath|. [~,distance] = shortestpath(social_graph,userA,userB); %% % Close the database connection. close(neo4jconn)
На вкладке MATLAB Apps, в крайнем правом углу раздела Apps, нажмите стрелу, чтобы открыть галерею Apps. В разделе Развертывание приложения щелкните Application Compiler.
В окне проекта MATLAB Compiler укажите основной файл приложения MATLAB, который необходимо развернуть.
В разделе «Основной файл» панели инструментов нажмите кнопку.
В диалоговом окне Add Files перейдите к расположению файла, содержащему ваш сохраненный скрипт. Выберите findShortestPathBetweenPeople.m
и нажмите Открыть. Приложение Application Compiler добавляет findShortestPathBetweenPeople
перейдите к списку основных файлов.
Решите, включать ли инсталлятор MATLAB Runtime в сгенерированное приложение, выбрав один из двух опций в разделе «Опции упаковки»:
Среда выполнения, загруженная из Интернета - генерирует инсталлятор, который загружает MATLAB Runtime и устанавливает его вместе с развернутым приложением MATLAB
Среда выполнения, включенная в пакет - Генерирует инсталлятор, который включает в себя инсталлятор MATLAB Runtime
Настройте упакованное приложение и его внешний вид путем ввода следующих опций:
Информация о приложении - редактируемая информация о развернутом приложении. Вы также можете настроить внешний вид автономного приложения, изменив значок приложения и заставку. Сгенерированный инсталлятор использует эти сведения для заполнения установленных метаданных приложения.
Дополнительные опции инсталлятора - Опции для редактирования пути установки по умолчанию для сгенерированного инсталлятора и выбора пользовательского логотипа.
Файлы, необходимые для запуска вашего приложения - Дополнительные файлы, необходимые для запуска сгенерированного приложения. Программное обеспечение включает эти файлы в созданный инсталлятор приложения.
Файлы, установленные для вашего конечного пользователя - Файлы, установленные вместе с вашим приложением. Эти файлы включают сгенерированные readme.txt
файл и сгенерированный исполняемый файл для целевой платформы.
Дополнительные настройки среды выполнения - специфичные для платформы опции для управления сгенерированным исполняемым файлом.
Для получения дополнительной информации об этих опциях смотрите Настройка приложения (MATLAB Compiler).
Чтобы сгенерировать упакованное приложение, щелкните Пакет в разделе Пакет на панели инструментов. В диалоговом окне «Сохранение проекта» укажите местоположение, в котором будет сохранен проект.
В диалоговом окне Пакет проверьте, что выбрана выходная папка Открыть при завершении процесса.
Когда процесс развертывания будет завершен, исследуйте сгенерированные выходы.
for_redistribution
- Папка, содержащая файл, устанавливающий приложение и MATLAB Runtime.
for_testing
- Папка, содержащая все артефакты, созданные mcc
(например, двоичные файлы, заголовки и исходные файлы для определенного целевого объекта). Используйте эти файлы для тестирования установки.
for_redistribution_files_only
- Папка, содержащая файлы, необходимые для перераспределения приложения. Распространите эти файлы среди пользователей, у которых на компьютерах установлены MATLAB или MATLAB Runtime.
PackagingLog.txt
- Файл журнала, сгенерированный MATLAB Compiler.
Для установки автономного приложения в for_redistribution
папка, дважды кликните MyAppInstaller_web
исполняемый файл.
Если необходимо подключиться к Интернету с помощью прокси-сервера, щелкните Параметры подключения. Введите настройки прокси-сервера в указанном диалоговом окне. Нажмите кнопку ОК.
Для завершения установки следуйте инструкциям мастера установки.
Чтобы запустить автономное приложение:
Откройте окно терминала.
Перейдите к папке, в которой вы установили приложение.
Запустите приложение.
Выберите одну целевую машину, чтобы протестировать сгенерированное MATLAB автономное приложение.
Скопируйте файлы в for_testing
папка на целевую машину.
Чтобы протестировать автономное приложение:
Откройте окно терминала.
Перейдите к for_testing
папка.
Запустите приложение.
Скопируйте for_redistribution_files_only
папка в расположение файла на всех целевых компьютерах, где установлены MATLAB или MATLAB Runtime и работает Neo4j сервер базы данных.
Запустите сгенерированное автономное приложение MATLAB на всех целевых компьютерах с помощью исполняемого файла в for_redistribution_files_only
папка.
close
| neo4j
| neo4jStruct2Digraph
| searchGraph