Справка:Семантические возможности вики
| ||
---|---|---|
Тематические статьи | ||
Техническая справка | ||
Тэги MediaWiki: | ||
Общие правила | ||
Эта страница — вольный перевод этого документа.
На этой странице дан обзор возможностей аннотаций Semantic MediaWiki.
Аннотации — это элементы разметки, позволяющие отмечать некоторые части содержимого документов особым образом, дающим программам (в том числе и самой Semantic Mediawiki) возвожность работать с ним более интеллектуально.
Одна из возможностей, даваемых аннотациями, — реализация мощного поиска по всему корпусу текстов. Он позволяет находить нужную информацию не только по совпадению со строкой, но и по смыслу содержимого, который аннотациями и задаётся.
Semantic Медиавики добавляет к MediaWiki следующие возможности структурирования информации:
- отношения, представляющие собой категории или типы ссылок между статьями. Другими словами, отношение даёт возможность уточнить смысл связи, обозначенной гиперссылкой, например, сообщив, что ссылка на Берлин в статье Германия дана, потому что Берлин — столица страны.
- атрибуты позволяют указывать смысл приведённых в статьях значений без создания перекрёстных ссылок. Например, числу 3 396 990 в статье Берлин можно приписать смысл численность населения.
Аннотации могут рассматриваться, и как расширение имеющийся в MediaWiki системы категорий.
Категории[править код]
Категории отмечают статьи, посвящённые некому предмету или обладающие некими признаками. Например, проставив в статье Москва строку: [[Категория:Города России]], производится пометка статьи, как содержащей информацию об одном из российских городов. В дальнейшем читатель сможет воспользоваться этой маркировкой для того, чтобы вывести список всех включённых в категорию статей о российских городах. Авторы статей могут также вставлять в текст ссылки на такие списки: [[:Категория:Города России|Города России]]. В результате, в тексте статьи появится ссылка: Города России.
Категории можно использовать по-разному. Например, категория «Город» может состоять из всех статей о городах; таким образом, она ставится только в статье о том или ином городе. Другие категории, такие, как «Математика» могут скорее описывать область, которой принадлежит статья. Есть и другие интерпретации. Semantic MediaWiki поддерживает этот способ применения категорий: категории должны описывать собрания статей, полезные или интересные для пользователей. Однако развитые мехаизмы поиска Semantic MediaWiki могут сделать многие категории лишними; таким образом вики с подключённой SMW может достичь высокого уровня организации со значительно меньшим числом категорий.
Справка по использованию категорий находится здесь (на английском языке).
Отношения[править код]
Отношения можно рассматривать в качестве категорий или типов ссылок. Чтобы лучше понять эту идею, рассмотрим статью Москва. Она содержит много ссылок, например на статьи Московкий метрополитен или правительство Москвы. При этом ссылка на статью [[Российская Федерация]] имеет особый смысл. В статье говорится о том, что Москва — столица Российской Федерации, и ссылка должна подчеркнуть этот факт.
Семантические средства вики позволяют указать на этот факт явно, написав [[столица::Российская Федерация|Российской Федерации]]. Это сообщит базе данных MediaWiki, что Москва относится к Российской Федерации именно как столица.
В статье эта ссылка отобразится, как обычная ссылка на другую статью: Российская Федерация. Дополнительный текст «столица» — имя отношения, использованного для того чтобы отличить эту ссылку на Российскую Федерацию от других.
Авторы вики-статей вольны выбирать для отношений, как и для категорий, любые наименования, но полезно использовать одни и те же отношения в одинаковых случаях — это позволит увидеть систему отношений на специальной странице и, в частности, легко найти статьи о предметах, одинаково относящихся друг к другу.
Об отношении желательно написать статью, где следует указать, в каких случаях использовать отношение. Название статьи будет начинаться с «Отношение:», таким образом статья об отношении «столица» будет называться «Отношение:Столица».
Отношение между страницами можно указать такими способами:
Цель | Синтаксис |
---|---|
Указать на то, что предмет, описываемый статьёй «некая статья», находится с предметом, описанным статьёй «другая статья» в отношении «некое отношение». | Пишем в тексте некой статьи: [[некое отношение::другая статья]]. |
Указать на то, что предмет, описываемый статьёй «некая статья», находится с предметом, описанным статьёй «другая статья» в отношении «некое отношение», дав альтернативное, подходящее к контексту, описание отношения. | Пишем в тексте некой статьи: [[некое отношение::другая статья|альтернативное описание отношения]]. |
Вставить в текст ссылку на статью, описывающую некое отношение, не создавая отношения между страницами. | Пишем: [[:некое отношение]] (имя отношения предваряется двоеточием). |
Атрибуты[править код]
Есть много утверждений, сложно выразимых с помощью отношений и категорий.
Например, для разметки утверждения «население Москвы — около 10 400 000 человек», ссылка вида [[население:10400000]] мало полезна, ибо подразумевает существование бессмысленной статьи о числе 10 400 000; а если записать его в виде простого текста, то эта информация не будет понятна системе.
Итак, для решения этой задачи необходимо сообщить Semantic Mediawiki:
- что население Москвы составляет 10 400 000 человек без образования ссылки на 10400000,
- что цифры «10400000» должны восприниматься системой как целое число, а не строка.
Первое требование можно выполнить, задав атрибут, для чего написать в тексте статьи Москва: [[население::10400000]].
Число «10 400 000» теперь будет выглядеть, как обычный текст без ссылки. Метка «население», как и для отношений, дело выбора автора: можно было назвать атрибут и по-другому. Как и в случае отношения, об атрибуте «население» желательно создать статью с его описанием. Название статьи будет начинаться с «Атрибут:»; в данном случае — «Атрибут:Население».
Типы атрибутов[править код]
Ещё нужно выполнить второе требование: указать, что население — число. В Semantic MediaWiki есть несколько типов атрибутов. В нашем случае, тип называется [[Тип:Целое]]. Префикс «Тип:» снова указывает на отдельное пространство имён для типов атрибутов Semantic MediaWiki.
Тип атрибута указывается на посвящённой ему странице следующим образом: [[Имеет тип::Тип:тип атрибута]]. Обратите внимание: слово «Имеет» должно начинаться с большой буквы.
В приведённом выше примере, на странице Атрибут:Население нужно написать: [[Имеет тип::Тип:Целое]].
Отношение «имеет тип» — особое предопределённое отношение, устанавливаемое между атрибутами и типами — технически, между страницами о них.
Это не единственное предопределённое отношение Semantic MediaWiki. Независимо от того, есть ли о них статьи, у них есть особое значение, и обрабатываются они не так, как другие.
Типы атрибутов очень важны для их обработки инструментами Semantic MediaWiki. Они:
- определяют, способ сортировки результатов поиска;
- помогают опознать равные значения: если атрибут имеет числовой тип, то значения «1532», «1 532» и «1.532e3» будут считаться равными, если же символьный, то нет;
- дают возможность вызвать для атрибутов некоторых типов определённые для них специальные функции, речь о которых ниже.
По этим причинам, у каждого атрибута должен быть тип. Если он не задан, статья с атрибутом будет показана правильно, но атрибут работать не будет, пока ему не будет присвоен тип, а статья с ним не будет снова сохранена. Последнее требование должно выполняться потому, что ни задание, ни изменение типа атрибута не имеет действия, пока статьи с ним не сохранены заново.
Самые важные элементы разметки для атрибутов:
Назначение | Синтаксис |
---|---|
Присвоить атрибуту «пример» значение «1 234 567». | Присваиваю значение «[[пример::1234567]]» атрибуту «example».. |
Присвоить атрибуту «пример» значение «999 331», но назвать это число в тексте «около миллиона». | Присваиваю атрибуту «пример» значение [[пример::999,331|около миллиона]], но называю его по-другому. |
Экранирование аннотации: в Паскале значения переменным присваиваются с помощью operator :=. | в [[Паскаль (язык программирования)|Паскале]] значения переменным присваиваются с помощью [[:operator :=]]. |
Указание на тип атрибута в посвящённой ему статье: У этого атрибута целочисленныйСвойство «Имеет тип» — декларативное, и должно использоваться только на страницах свойств или категорий. тип. |
У этого атрибута [[Имеет тип::Тип:Целое|целочисленный]] тип. |
Сочетание разметки MediaWiki с установкой атрибутов: Адрес электронной почты Джона — [email protected] Указание: Используйте для этого шаблоны. |
Сочетание разметки MediaWiki с установкой атрибутов: Адрес электронной почты Джона — [[email::[email protected]|[mailto:[email protected] [email protected]]]]. |
Типы атрибутов и единицы измерения[править код]
Атрибуты с соответствующими типами могут описывать самые разные свойства. Полный список доступных типов находится на спецстранице Служебная:Types. Основные типы включают:
- Тип:Строка для символьных строк,
- Тип:Число для целых и действительных чисел, которые можно задавать и в научной нотации.
Эти типы можно творчески использовать в разных целях. Например, атрибут с типом «строка» может хранить телефонные номера (в которых могут быть не только цифры).
Единицы измерения[править код]
Тип:Действительное может включать единицу измерения после числа, чтобы различать величины разной размерности (например, «30.3 миль/галлон» и «47 км/л»), но он не умеет переводить их из одной единицы измерения в другую (В версии SMW 0.6 указание единицы измерения приводило к выводу предупреждения «Этот атрибут не поддерживает перевода из одной единицы измерения в другую» в списке фактов и результатах запросов, см. Шаблон:SMWbug).
Чтобы включить автоматический перевод величин и множественные форматы единиц измерения, можно определить пользовательский тип данных. Такие типы автоматически пересчитываются из одних единиц измерения в дргие, позволяя использовать при написании статей привычные единицы, в то же время правильно сравнивая и ища значения атрибутов.
Специальные типы[править код]
Есть предопределённые типы атрибутов, поддерживающие более сложные форматы значений и перевод величин:
- Тип:Перечисление (начиная с версии SMW 0.7) похож на Тип:Строка, но ограничивает значение атрибута одной из заданных строк на странице атрибута.
- Тип:Температура, который не мог быть определён пользователем, так как перевод из одной шкалы температур в другую не сводится к умножению на коэффициент.
- Тип:Географические координаты предназначен для указания широты и долготы — этот тип распознаёт разные формы координат и даёт динамические ссылки на интернет-карты.
- Тип:Дата служит для указания определённых моментов во времени. Этот тип ещё в разработке; в будущем он может начать поддерживать сложные пересчёты из одного календаря или эры в другой.
Для указания URL и адресов электронной почты, созданы варианты строкового типа:
- Тип:URL и Тип:URI оба кажутся работающими так же, как и Тип:Строка (в версии SMW 0.6, когда значение этого типа возвращается запросом, он не работает ссылкой).
- Тип:URI-аннотации, атрибуты с которым интерпретируются как ссылки на внешние объекты, заданные URI. При экспорте они интерпретируются, как свойства аннотаций. Документация на странице типа (как и выше, в версии SMW 0.6, значение этого типа, возвращённое запросом, не служит ссылкой).
- Тип:Почта хранит адреса электронной почты в виде строки, а на страницах автоматически ставит на них ссылки с mailto:.
Шаблоны Semantic MediaWiki[править код]
Возможно и желательно использовать аннотации в шаблонах MediaWiki. Это упростит синтаксис, которым должны пользоваться авторы статей, поможет избежать дублирования при именовании отношений и атрибутов, и быстро создавать много семантических данных, аннотируя существующие шаблоны. Детали см. в Справка:Шаблоны Semantic MediaWiki.