Общее описание

Семантическая разметка на markdown ориентирована на компактное выражение отношений субъект-предикат-объект на основе следующих правил:

  1. каждая страница является субъектом с идентификатором в виде URL страницы;
  2. в текст страницы включены предикаты (свойства), описывающие субъект; все предикаты представлены с помощью конструкции языка markdown ссылка: [текст](путь 'описание')
  3. предикаты могут быть трех видов:
    • "литерал" - произвольный набор символов;
    • "сущность" - идентификатора URI;
    • "анонимная сущность" - набор свойств (пара свойство-значение / предикат-объект) без явного указания идентификатора сущности (субъекта), к которой относятся эти свойства.

Примеры предикатов:

  • литерал может быть представлен следующей конструкцией: "Данная статья представляет собой инструкцию ..." эквивалентной будет запись: "Данная статья относится к категории Инструкция" - оба варианта соответствуют значению предиката <gs:тип>Инструкция</gs:тип>;
  • значение предиката может быть идентификатором сущности; например, если в онтологии определен класс Инструкция, то можно записать: Инструкция - это будет соответствовать значению предиката <gs:тип rdf:resource="http://a.roz37.ru/онтология/Инструкция"/>;
  • если значение предиката имеет сложную структуру (состоит из набора признаков), то он может быть представлен как анонимный субъект, например: Файлы на языке markdown имеют расширение [.md](https://garpix.com/semantik/сущности/справочники/расширенияФайлов#md '_типФайла:"альтернатива":".markdown"'); такое значение предиката является самостоятельным субъектом без идентификатора (анонимный субъект - в терминологии RDF)
        <gs:типФайла>
            <rdf:Description>
                <gs:тема>markdown</gs:тема>
                <gs:label>.md</gs:label>
                <gs:URI>https://garpix.com/semantik/сущности/справочники/расширенияФайлов#md</gs:URI>
                <gs:альтернатива>.markdown</gs:альтернатива>
            </rdf:Description>
        </gs:типФайла>

Кроме того некоторые признаки парсер выделяет без их явного указания:

  • заголовок статьи (тег h1) - gs:label, а ее адрес - gs:url;
  • ссылки без "описания" будут интерпретированы как признаки (предикаты) gs:ссылка и представлены анонимным субъектом следующей структуры:
    <gs:ссылка>
        <rdf:Description>
        <gs:label>markdown</gs:label>
        <gs:url>/syntax/markdown</gs:url>
        </rdf:Description>
    </gs:ссылка>

Свойства (предикаты) могут сгруппированы при помощи списков. В этом случае каждый предикат в списке будет представлен анонимным субъектом с общим для группы предикатов признаком. Например, на одной странице могут размещаться наборы команд по управлению пакетами Linux для разных дистрибутивов (CentOS, Ubuntu, AltLinux ...); при этом набор команд для конкретного дистрибутива может быть объединен в список (пример).
Для предикатов представленных анонимными субъектами в списках предусмотрена возможность добавления элементов кода.