Диссертация (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Значения атрибутов должны соответствовать их типам. В случае наличияспецсимволов следует сделать соответствующую обработку или поместитьсодержание в блок <![CDATA[.При необходимости назначения вершине цветовой иконки, необходимо вописании атрибутов вершины задать дополнительный тэг <data>. Пример(Выделен жирным шрифтом):<node id="n0" type=”human”><data key="d0">green</data><data key="d1">2</data><data key="Icon_Name">0</data></node>Ключ Icon_Name будет однозначно назначать вершине необходимуюцветовую иконку.
Значения допустимы в отрезке от 0 до 9. Соответствиезначений цветам иконок приведено на рисунке А.19.Рисунок А.19. Соответствие цветов и значений вершин.Если введено значение, не попадающее в заданный интервал, то иконкабудет выставлена по умолчанию. В случае, если данный тег отсутствует,иконка будет выставлена по умолчанию.Описание реберОписание ребер делается аналогично описанию вершин.176<edge id="e6" source="n5" target="n4" type=”connection”><data key="d3">1</data></edge>type — идентификатор типа ребра. Должен принимать одно из значений,описанных в типах в секции <description>.Атрибуты для ребер задаются так же, как и для вершин.В случае ориентированности графа порядок идентификаторов вершин ватрибутах source и target важен.При необходимости назначения ребру цвета, необходимо в описанииатрибутов связи задать дополнительный тэг <data>.
Пример описания ребра:<edge source="+71111111111" target="+72222222222" type="link"><data key="edgecolor">grey</data><data key="docid">0</data><data key="edgetime">25.09.2012 13:13:54</data><data key="Link_Color">2</data></edge>Ключ Link_Color будет однозначно назначать связи необходимый цвет.Значения допустимы в отрезке от 1 до 6. Соответствие значений цветам реберприведено на рисунке А.20.177Рисунок А.20. Соответствие цветов и значений ребер.Если введено значение, не попадающее в заданный интервал, то цветбудет выставлен по умолчанию.
В случае, если данный тег отсутствует, цветбудет выставлен по умолчанию.При необходимости назначения ребру уникального направления,необходимо в описании атрибутов связи задать дополнительный тэг <data>.Пример описания ребра:<edge source="+71111111111" target="+72222222222" type="link"><data key="edgecolor">grey</data><data key="docid">0</data><data key="edgetime">25.09.2012 13:13:54</data><data key=" Link_Dir">1</data></edge>Ключ Link_Dir будет однозначно назначать связи необходимый цвет.Значения допустимы в отрезке от 0 до 3:0 – направление связи от source к target1 – направление связи от target к source2 – двунаправленная связь между source и target1783 – неориентированная связь между source и targetЕсли введено значение, не попадающее в заданный интервал, тонаправление будет выставлено по умолчанию.
В случае, если данный теготсутствует, направление будет выставлено по умолчанию.Пример описания данныхПриведем пример описания семантической сети, графа в универсальномформате ввода данных в приложение:<?xml version="1.0" encoding="UTF-8"?><BEGIN><description><type id=”human” for="edge" ><key id="d0" attr.name="color" attr.type="string" /><key id="d1" attr.name="weight" attr.type="int" /></type><type id=”connection” for="node" ><key id="d3" attr.name="color" attr.type="string" /></type></ description ><graph edgedefault="undirected"><node id="n0" type=”human”><data key="d0">green</data><data key="d1">5</data></node><node id="n1" type=”human”><data key="d0">red</data><data key="d1">2</data>179</node><edge id="e0" source="n0" target="n1" type=”connection”><data key="d3">blue</data></edge></graph></END>Редактирование элементовМеню редактирования элементовДля редактирования элементов необходимо кликнуть правой кнопкоймыши по объекту (рисунок А.21).Рисунок А.21.
а) Редактирование объекта, б) редактирование связиВ появившемся контекстном меню возможны следующие действия:• «Редактировать объект»;• «Удалить объект»;180• «Удалить излом»;• «Создать направление» связи;• «Изменить направление» связи – при изменении направленияпоследовательно будут изменяться направления в следующемпорядке (от 1-го объекта ко 2-му, от 2-го объекта ко 1-му,двунаправленная связь, связь без направлений);• «Удалить направление».Редактирование объектаВ окне редактирования объекта можно создавать новые типы атрибутов,добавлять новые атрибуты к объекту (вершине), редактировать или удалятьуже существующие, изменять иконку объекта и/или его тип, просматриватьсгруппированные объекты.Окно состоит из 3-х вкладок:1.
«Атрибуты» (рисунок А.22) – редактирование/удаление/изменениесуществующих атрибутов у объекта, добавление нового атрибута кобъекту, создание нового типа атрибута на схеме.181Рисунок А.22. Редактирование атрибутов вершины1822. «Стили» (рисунок А.23) – изменение иконки вершины, возможностьвыбора способа отображения вершины: иконка или линия темы. Есливершина будет представляться в виде линии темы, то возможнанастройка ее стилей: цвет и ширина. Также можно автоматическиподобрать длину линии темы на схеме.Рисунок А.23. Редактирование способа визуального представлениявершины1833. «Сгруппированные объекты» (рисунок А.24) – вкладка доступнатолько в том случае, если данная вершина является групповой.