Диссертация (1090614), страница 21
Текст из файла (страница 21)
В таблицеотображаются только первые 10 строк. Это позволяет быстро обновлятьтаблицу в соответствии с выбранными настройками. (рисунок А.16). Нарисунке А.16 и далее данные, отображенные в таблице, скрыты.168Рисунок А.16. Вкладка «Настройки импорта»Доступны следующие настройки:• Кодировка исходного файла.
Все строковые данные хранятся в базев формате UTF. На текущий момент поддерживаются следующиекодировки:▪UTF-8▪UTF-16▪UTF-32▪Windows 1251169▪KOI8-R▪KOI8-U• Ограничение на число строк из файла. Это может быть полезно дляпредварительного просмотра перед конвертированием большогообъема данных.• Возможность исключить несколько первых строк из файла.Используется с форматами .csv и .xls, где первая строка часто содержитзаголовки колонок. Существует возможность заполнить названия дляатрибутов из этой вкладки, которая доступна на третьей вкладке.Для табличных форматов доступна возможность выбрать контрольныесимволы:• разделитель колонок (по умолчанию запятая);• разделитель строк (по умолчанию новая строка).Для Excel таблиц есть возможность выбрать рабочий лист (worksheet), адля html-разметки — таблицу из файла.Назначение связейПосле того, как достигнуто правильное отображение на предыдущейвкладке данных в таблице, необходимо нажать на вкладку «Назначениесвязей» и перейти к следующему шагу — назначению связей междуколонками таблицы.170Рисунок А.17.
Вкладка «Назначение связей»В верхней части экрана отображается та же таблица, что и напредыдущей вкладке. Однако, при клике на колонку, в нижней частипоявляются интерфейс для назначения действий.В первую очередь, для построения графа следует указать как минимумоднуколонку,значениякоторойследуетинтерпретироватькакидентификаторы вершины.Для этого, следует отметить курсором нужную колонку и выбрать ввыпадающем списке «Действие» пункт «Идентификатор первой вершины».171Однако, при таком выборе, не получится построить связи между парамивершин, поэтому в результирующей сети не будет ребер.Примечание: Обычно в качестве идентификаторов вершин выбираются двеколонки.
Каждая строка таблицы при этом означает связьмежду вершиной с идентификатором в первой и второйколонках соответственно.Для получения графа необходимо назначить атрибуты. Для этого нужновыбрать колонку (это может быть колонка, являющиеся идентификаторомвершины), указать ей название, тип данных, выбрать то, к чему будетотноситься данные атрибут (к первой вершине, второй вершине или к связи).Можно отметить сразу несколько значений. Название может быть, в томчисле, на русском языке.Для простоты создания атрибутов, можно заполнить их названия изопределенной строки (обычно, первой).Предварительный просмотр и запись в хранилищеНа последней вкладке «Предпросмотр» формы «Импорт данных» естьвозможность посмотреть на получающеюся в результате настроек сетьвизуально.Для построения используются только первые 10 строк из исходногомассива данных.
Этого достаточно, чтобы пользователь мог оценитьправильность выбранных колонок и корректность конвертации и обеспечитьнеобходимую скорость работы.Убедившись в корректности получившегося графа, можно перейтинепосредственнокпроцессуконвертации,нажавнакнопку«Импортировать!»В ином случае можно вернуться к выбору настроек нажатием кнопки«Назад».172После нажатия пользователю предлагается выбрать директорию длясоздания хранилища.
Программа проверяет, пуста ли папка и, в противномслучае, предлагает пользователю очистить директорию.Если при импорте возникли какие-то ошибки, можно их посмотреть,нажав кнопку «Да» (рисунок А.18).Рисунок А.18. Сообщение об ошибкеВ открывшемся окне будет вся информация об ошибках при импорте.Информацию обо всех ошибках можно будет сохранить в текстовый файл,нажав кнопку «Сохранить в файл…».Получившийся в результате граф можно посмотреть, загрузив его вприложение.Работа с источниками данныхОбщее описание формата файлаДля экспортирования графа в программу используется собственныйформат, основанный на формате GraphML.Ниже следует описание правил, по которым этот файл должен бытьсоставлен.Файл должен быть сохранен в кодировке utf-8.В начале файла должен быть следующий заголовок:<?xml version="1.0" encoding="UTF-8"?><BEGIN>Начало описания графа записывается в виде:173<graph edgedefault="undirected">В поле edgedefault нужно указать значение undirected или directed, всоответствии с типом графа.Файл завершается записью:</graph></END>В конце файла не должно быть лишних символов или переносов строки.Описание типов в формате файлаЗатем идет описание типов вершин и связей, заданных для этого графа.Описание следует внутри тега <description />.
Внутри тега следуют теги<type id=”human” for="edge" >id — идентификатор типа. Это значение затем используется при указаниитипа у вершин и ребер графаfor —два варианта значений: node и edge — означает, к вершине илиребру, соответственно, может относиться этот тип.Внутри этих тегов <type> должны описываться атрибуты, которымибудут обладать вершины или ребра этого типа. К примеру,<type id=”human” for="edge" ><key id="d0" attr.name="color" attr.type="string" /><key id="d1" attr.name="weight" attr.type="int" /></type>id — идентификатор атрибута. Это значение затем используется приуказании значений атрибутов у вершин и ребер графа174attr.name — название атрибута.
Может быть на русском языке. Не должносодержать специальных символов и символов кавычки. Такие символыдолжны быть обработаны согласно спецификации XML и заменены. Кпримеру, символ двойной кавычки нужно заменить на ".attr.type — тип атрибута. Доступны значения:i. intii. stringiii. datetimeiv. datev. timevi. doubleОписание вершинКаждая вершина описывается с новой строки следующим образом:<node id="n0" type=”human”><data key="d0">green</data><data key="d1">2</data></node>id — уникальный идентификатор вершины. Используется ниже длязадания ребер графа.type — идентификатор типа вершины. Должен принимать одно иззначений, описанных в типах в секции <description>.Внутри тега node следуют задания значений для атрибутов вершинывыбранного типа.
Нужно указать те же атрибуты, что были описаны для этоготипа в секции <description>. Порядок не важен, но для тегов <data> долженбыть задан атрибут key.175Значения атрибутов должны соответствовать их типам. В случае наличияспецсимволов следует сделать соответствующую обработку или поместитьсодержание в блок <














