Jupy Web Log

09.14.2007

Проект Neno/Fhat

Filed under: SW Projects — jupy @ 9:50 дп

Если рассматривать RDF ресурсы как аналоги объектов в ООП, то можно найти определенные соответствия. Например: OWL классы можно сопоставить с классами в ООП, а свойства RDF ресурсов во многом аналогичны атрибутам классов в объектно-ориентированных языках. Однако существует важное отличие: ресурсы Semantic Web представляют собой данные, и только данные, в то время как объекты в ООП – это совокупность данных и поведения. Поведение объектов, то есть экземпляров классов, определяется набором публичных методов. А что получится, если добавить поведение в RDF ресурсы? Таким вопросом задались авторы проекта под названием Neno/Fhat (произносится «Ни-ноу фэт»).

Фактически Neno – это новый язык программирования для семантических сетей, а Fhat – это виртуальная машина, для исполнения кода написанного на Neno. Идея авторов Neno заключается в том, чтобы позволить пользователям ассоциировать исполняемый код (методы) с OWL классами, тогда RDF ресурсы превращаются в полноценные объекты. При этом исходные тексты на Neno транслируются в промежуточный код, который представляет собой ни что иное как набор RDF троек. Таким образом исполняемый код может храниться в RDF хранилище вместе с данными относящимися к ресурсу. Виртуальная машина Fhat может читать и исполнять этот код, а значит Semantic Web – более не является просто средой моделирования данных, а превращается в распределенную вычислительную среду.

Neno Semantic Web
Semantic Web – это структура данных и она не имеет возможности производить вычисления над своими данными. Поэтому, Semantic Web лишь хранит текущее состояние виртуальной машины Fhat, а изменяет это состояние (исполняет код) – внешний процесс.

Neno Source Code
В чем же преимущества и недостатки такого подхода:

  • + Сегодня Интернет обеспечивает инфраструктуру для распространения информации для человека (например: веб-страниц, статей и т.д.). Semantic Web теперь предоставляет возможность для распространения данных для машин (системных моделей, алгоритмов).
  • — В силу того, что данный подход использует другой уровень косвенности Neno код будет выполняться существенно медленнее, чем, например код на Java.
  • — Данная модель вычислений предполагает большое количество операций ввода/вывода в RDF хранилище, что также не способствует увеличению производительности.
  • + Все представлено в виде RDF. И данные, и код.
  • + Простота распространения программного обеспечения. И код программы и текущее состояние виртуальной машины представлены в виде RDF и могут быть легко получены с помощью HTTP запроса GET или с помощью SPARQL команды SELECT.
  • — В силу того, что все представлено в виде RDF, это приводит к существенному увеличению количества RDF записей в хранилище.
  • + Абсолютно распределенная вычислительная среда с адресным пространством покрывающим все возможные URI (то есть практически неограниченное).

Конечно, сегодня трудно представить во что выльется эта инициатива. Сейчас, она вызывает больше вопросов, чем ответов. Тем не менее, проект Neno/Fhat представляется весьма интересным начинанием.
Первая версия Neno/Fhat должна появиться в конце осени 2007 года.
Ссылки:
Home Page — http://neno.lanl.gov/Home.html
Presentation — http://www.soe.ucsc.edu/~okram/papers/talks/nenofhat.pdf

Реклама

2 комментария »

  1. Мне кажется это мертворождённый академический проект.

    Допустим у нас есть проект по расчёту генома, есть распределённый набор машин, на которых хранятся входные семантические данные, алгоритм их пересчёта и выходные семантические данные. Благодаря подобной технологии нам не обязательно изначально знать даже что это за алгоритм и что за данные. В любой момент их можно изменить и начать вычислять что-то другое — квартальный финансовый отчёт компании, к примеру. Идея на первый взгляд здравая.

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

    комментарий от dulanov — 09.19.2007 @ 2:28 пп | Ответить

  2. Идея этого проекта хороша. Ведь при практической реализации Semantic Web сервиса все равно необходимо собрать распределенный по WEb объект RDF в одном месте и осуществить его обработку.

    Представьте себе распределенные описания объектов предметных областей. Чтобы получить информацию об одном объекте нужно сначала опросить множество сервисов, которые вернут свою часть описания необходимого вам объекта и только после этого ваше приложение сможет осуществить обработку (логический вывод)!

    P.S. Я поддерживаю сходную с создателями Neno/Fhat точку зрения!

    комментарий от ontolog — 04.04.2008 @ 4:05 пп | Ответить


RSS feed for comments on this post. TrackBack URI

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

Создайте бесплатный сайт или блог на WordPress.com.

%d такие блоггеры, как: