RDFshow: преобразователь RDF на шаблонах

12 views
Skip to first unread message

Vasiliy Faronov

unread,
Sep 28, 2009, 5:04:38 PM9/28/09
to webofdata.ru
Здравствуйте.

Я недавно начал проект RDFshow. Это Python-библиотека (на RDFLib) для
преобразования RDF-графов в HTML, XML или другие текстовые форматы на
основе пользовательских шаблонов. Например, позволяет из RDF-описания
собрать красивую страницу. Есть и командный интерфейс.

Подумал, что кому-нибудь из подписчиков может быть интересно.

Дом проекта -- http://code.google.com/p/rdfshow/
Пока(?) только на английском.

Буду рад отзывам и предложениям.

--
Василий Фаронов

Vladimir

unread,
Sep 29, 2009, 8:33:02 AM9/29/09
to webofdata.ru
Добрый день, Василий!

На примере всё выглядит красиво.
Скачать код и запустить руки не доходят )

Предложение:
Насколько я понял, Вы генерируете из XML-сериализации RDF-документа
его
представление на XML/HTML и т.п., используя шаблоны.
Почему бы не написать конвертор Ваших шаблонов в XSLT и наоборот?
Тогда Ваш язык шаблонов станет (полезным!) дополнением к XSLT.
А главное - отпадет необходимость в поддержке кода программы-
преобразователя.

Альтернатива (обосоновывающая существование преобразователя) состоит в
том,
чтобы доказать (строго!), что конвертор в/из XSLT построить
невозможно.

С уважением,
Владимир

On 29 сен, 01:04, Vasiliy Faronov <vfaro...@gmail.com> wrote:
> Здравствуйте.
>
> Я недавно начал проект RDFshow. Это Python-библиотека (на RDFLib) для
> преобразования RDF-графов в HTML, XML или другие текстовые форматы на
> основе пользовательских шаблонов. Например, позволяет из RDF-описания
> собрать красивую страницу. Есть и командный интерфейс.
>
> Подумал, что кому-нибудь из подписчиков может быть интересно.
>

> Дом проекта --http://code.google.com/p/rdfshow/

Vasiliy Faronov

unread,
Sep 29, 2009, 12:04:00 PM9/29/09
to webofdat...@googlegroups.com
> Насколько я понял, Вы генерируете из XML-сериализации RDF-документа
> его представление на XML/HTML и т.п., используя шаблоны.

Не совсем. Я генерирую из внутреннего представления графа, используемого
в RDFLib. Сериализация может быть любая, поддерживаемая RDFLib.
Командный интерфейс (crdfshow) на данный момент принимает только XML,
хотя в принципе ничто не мешает Notation3 и т. п. — надо просто опцию
сделать.


> Почему бы не написать конвертор Ваших шаблонов в XSLT и наоборот?
> Тогда Ваш язык шаблонов станет (полезным!) дополнением к XSLT.
> А главное - отпадет необходимость в поддержке кода программы-
> преобразователя.

Спасибо за идею.

Я ещё посмотрю внимательней на XSLT, но пока мне кажется, что это
значительно усложнит задачу. Сам преобразователь очень прост, так как
использует RDFLib. Аналогичные действия в XSLT, наверное, можно
реализовать (он вроде бы полный по Тьюрингу), но это как минимум
неочевидно. Так что поддерживать код, скорее всего, станет труднее.

Ivan Mikhailov

unread,
Sep 29, 2009, 3:48:48 PM9/29/09
to webofdat...@googlegroups.com
C XSLT можно и подождать месяц-полтора, я как раз дописываю интеграцию
XSLT+SPARQL, так что можно будет писать SPARQL-запросы прямо внутри
темплетов, переменные XSLT станут параметрами вложенных запросов, а
возвращаемые запросом значения --- значениями новых XSLT-переменных.
Всякие "френельки" после этого будет одно удовольствие писать. А если на
входе XHTML+RDFa, то его можно будет вообще прочитать двумя способами в
одной XSLTшине --- триплы засунуть в граф, а на элементы документа
напустить темплеты, которые будут лазить в тот граф (а если входных
документов много --- то в кучу графов враз).

Вероятное первое применение для этого чуда-юда --- генератор
документации (аналог javadoc/Doxygen) для Virtuoso/PL+SPARQL+XSLT .
Напущу его на его же собственные исходники --- нехай
самодокументируется.

Всего наилучшего

Иван Михайлов
OpenLink Software
http://virtuoso.openlinksw.com

Vasiliy Faronov

unread,
Sep 29, 2009, 9:35:23 PM9/29/09
to webofdat...@googlegroups.com
Не совсем понял. Если Ваш XSLT+SPARQL напустить на RDF/XML, то
XSLT-часть будет обрабатывать XML-дерево, а SPARQL-часть — тот граф,
который из этого дерева получается?
--
Василий Фаронов

Ivan Mikhailov

unread,
Sep 29, 2009, 11:15:35 PM9/29/09
to webofdat...@googlegroups.com
On Wed, 2009-09-30 at 05:35 +0400, Vasiliy Faronov wrote:
> Не совсем понял. Если Ваш XSLT+SPARQL напустить на RDF/XML, то
> XSLT-часть будет обрабатывать XML-дерево, а SPARQL-часть — тот граф,
> который из этого дерева получается?

XML-представление RDF/XML обрабатывать вообще смысла нет, достаточно
сформировать отчёт из содержащихся в этом документе триплов. А вот в
случае XSLT+RDFa смысл в таком трюке уже есть. Например, можно сделать
прокси, который будет навешивать на постороннюю страницу дополнительные
данные, ссылки и прочее.

Vasiliy Faronov

unread,
Sep 29, 2009, 11:36:59 PM9/29/09
to webofdat...@googlegroups.com
> XML-представление RDF/XML обрабатывать вообще смысла нет, достаточно
> сформировать отчёт из содержащихся в этом документе триплов.

А. Ну вот эту задачу и собирается решать RDFshow — пока не знаю,
насколько удачно/осмысленно :-)

XSLT+SPARQL можно тоже для этого использовать: берём шаблон отчёта на
XHTML и граф с описаниями, и в нужные места документа привешиваем
результаты запросов.
--
Василий Фаронов

Reply all
Reply to author
Forward
0 new messages