Справка:Семантические возможности вики

Написание статей Написание статей
Тематические статьи
Техническая справка
Общие правила

Список правил и руководств Справка

Эта страница — вольный перевод этого документа.


На этой странице дан обзор возможностей аннотаций 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:

  1. что население Москвы составляет 10 400 000 человек без образования ссылки на 10400000,
  2. что цифры «10400000» должны восприниматься системой как целое число, а не строка.

Первое требование можно выполнить, задав атрибут, для чего написать в тексте статьи Москва: [[население::10400000]].

Число «10 400 000» теперь будет выглядеть, как обычный текст без ссылки. Метка «население», как и для отношений, дело выбора автора: можно было назвать атрибут и по-другому. Как и в случае отношения, об атрибуте «население» желательно создать статью с его описанием. Название статьи будет начинаться с «Атрибут:»; в данном случае — «Атрибут:Население».

Типы атрибутовПравить

Ещё нужно выполнить второе требование: указать, что население — число. В Semantic MediaWiki есть несколько типов атрибутов. В нашем случае, тип называется [[Тип:Целое]]. Префикс «Тип:» снова указывает на отдельное пространство имён для типов атрибутов Semantic MediaWiki.

Тип атрибута указывается на посвящённой ему странице следующим образом: [[Имеет тип::Тип:тип атрибута]]. Обратите внимание: слово «Имеет» должно начинаться с большой буквы.

В приведённом выше примере, на странице Атрибут:Население нужно написать: [[Имеет тип::Тип:Целое]].

Отношение «имеет тип» — особое предопределённое отношение, устанавливаемое между атрибутами и типами — технически, между страницами о них.

Это не единственное предопределённое отношение Semantic MediaWiki. Независимо от того, есть ли о них статьи, у них есть особое значение, и обрабатываются они не так, как другие.

Типы атрибутов очень важны для их обработки инструментами Semantic MediaWiki. Они:

  1. определяют, способ сортировки результатов поиска;
  2. помогают опознать равные значения: если атрибут имеет числовой тип, то значения «1532», «1 532» и «1.532e3» будут считаться равными, если же символьный, то нет;
  3. дают возможность вызвать для атрибутов некоторых типов определённые для них специальные функции, речь о которых ниже.

По этим причинам, у каждого атрибута должен быть тип. Если он не задан, статья с атрибутом будет показана правильно, но атрибут работать не будет, пока ему не будет присвоен тип, а статья с ним не будет снова сохранена. Последнее требование должно выполняться потому, что ни задание, ни изменение типа атрибута не имеет действия, пока статьи с ним не сохранены заново.

Самые важные элементы разметки для атрибутов:

Назначение Синтаксис
Присвоить атрибуту «пример» значение «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.