<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Dmitry Ulanov's Opinions</title>
	<atom:link href="http://dulanov.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://dulanov.wordpress.com</link>
	<description>Publications mainly about Semantic Web, Programming and Open Source but not at all</description>
	<lastBuildDate>Thu, 14 Apr 2011 00:38:06 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='dulanov.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Dmitry Ulanov's Opinions</title>
		<link>http://dulanov.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://dulanov.wordpress.com/osd.xml" title="Dmitry Ulanov&#039;s Opinions" />
	<atom:link rel='hub' href='http://dulanov.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Блог заморожен</title>
		<link>http://dulanov.wordpress.com/2010/08/20/blog-zamorogen/</link>
		<comments>http://dulanov.wordpress.com/2010/08/20/blog-zamorogen/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 03:46:49 +0000</pubDate>
		<dc:creator>dulanov</dc:creator>
				<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://dulanov.wordpress.com/?p=502</guid>
		<description><![CDATA[Замораживаю данный блог (dulanov.wordpress.com) и перехожу на движок Posterous, новые посты теперь будут появляться непосредственно на http://dulanov.name. Filed under: personal<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dulanov.wordpress.com&amp;blog=211218&amp;post=502&amp;subd=dulanov&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Замораживаю данный блог (dulanov.wordpress.com) и перехожу на движок Posterous, новые посты теперь будут появляться непосредственно на <a href="http://dulanov.name">http://dulanov.name</a>.</p>
<br />Filed under: <a href='http://dulanov.wordpress.com/category/personal/'>personal</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dulanov.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dulanov.wordpress.com/502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dulanov.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dulanov.wordpress.com/502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dulanov.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dulanov.wordpress.com/502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dulanov.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dulanov.wordpress.com/502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dulanov.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dulanov.wordpress.com/502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dulanov.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dulanov.wordpress.com/502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dulanov.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dulanov.wordpress.com/502/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dulanov.wordpress.com&amp;blog=211218&amp;post=502&amp;subd=dulanov&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dulanov.wordpress.com/2010/08/20/blog-zamorogen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25ad930eb798884e4ec5c56cd3aa9df3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dulanov</media:title>
		</media:content>
	</item>
		<item>
		<title>Шесть внутренних врагов человека</title>
		<link>http://dulanov.wordpress.com/2010/08/02/%d1%88%d0%b5%d1%81%d1%82%d1%8c-%d0%b2%d0%bd%d1%83%d1%82%d1%80%d0%b5%d0%bd%d0%bd%d0%b8%d1%85-%d0%b2%d1%80%d0%b0%d0%b3%d0%be%d0%b2-%d1%87%d0%b5%d0%bb%d0%be%d0%b2%d0%b5%d0%ba%d0%b0/</link>
		<comments>http://dulanov.wordpress.com/2010/08/02/%d1%88%d0%b5%d1%81%d1%82%d1%8c-%d0%b2%d0%bd%d1%83%d1%82%d1%80%d0%b5%d0%bd%d0%bd%d0%b8%d1%85-%d0%b2%d1%80%d0%b0%d0%b3%d0%be%d0%b2-%d1%87%d0%b5%d0%bb%d0%be%d0%b2%d0%b5%d0%ba%d0%b0/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 08:24:37 +0000</pubDate>
		<dc:creator>dulanov</dc:creator>
				<category><![CDATA[opinion]]></category>

		<guid isPermaLink="false">http://dulanov.wordpress.com/2010/08/02/%d1%88%d0%b5%d1%81%d1%82%d1%8c-%d0%b2%d0%bd%d1%83%d1%82%d1%80%d0%b5%d0%bd%d0%bd%d0%b8%d1%85-%d0%b2%d1%80%d0%b0%d0%b3%d0%be%d0%b2-%d1%87%d0%b5%d0%bb%d0%be%d0%b2%d0%b5%d0%ba%d0%b0/</guid>
		<description><![CDATA[&#171;Веды называют шесть внутренних врагов человека, которые порождают все внешние проблемы. Вот они: зависть, вожделение, гнев, жадность, безумие, иллюзия. Как они связаны между собой? Веды говорят, что падение души из Абсолютной Реальности в этот материальный мир начинается с того, что душа начинает завидовать красоте и могуществу Бога. Когда зависть (враг №1) поселилась в сердце, душа [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dulanov.wordpress.com&amp;blog=211218&amp;post=481&amp;subd=dulanov&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div class="posterous_autopost">
<p><strong>&laquo;Веды называют шесть внутренних врагов человека, которые  порождают все внешние проблемы. Вот они: зависть, вожделение, гнев,  жадность, безумие, иллюзия.</strong></p>
<p>Как они связаны между собой? Веды  говорят, что падение души из Абсолютной Реальности в этот материальный  мир начинается с того, что душа начинает завидовать красоте и могуществу  Бога. Когда зависть (враг №1) поселилась в сердце, душа уходит из  Духовного мира и попадает в мир материальный. В Духовном мире основой бытия является любовь к Богу и служение Ему. Когда, оказавшись в  материальном мире, душа лишается общества Бога, нереализованное чувство  любви и стремление к прекрасному (к Богу) превращается в вожделение  (враг №2). Принципиальное отличие вожделения от любви состоит в том, что  любовь &#8211; это желание бескорыстно служить объекту своей любви, а  вожделение &#8211; это желание корыстно наслаждаться самому и эксплуатировать  все вокруг. Если вожделение не удовлетворяется, оно перерастает в гнев  (враг №3), а если удовлетворяется, тогда оно порождает жадность (враг №4), так как хочется еще повторить  удавшийся опыт. В обоих случаях жадность и гнев порождают безумие (враг  №5), которое проявляется в потере разума и неспособности контролировать  себя.</p>
<p>Последней фазой этих трансформаций является иллюзия (враг №6). Иллюзия   состоит в том, что, дойдя до безумия, душа совершенно забывает о своей   вечной природе и полностью отождествляет себя с временным физическим   телом. Это ложное самоотождествление заставляет душу двигаться в   противоположную своим интересам сторону. Это и есть иллюзия. Конечно,   придирчивый критик скажет, что еще забыли про гордыню, тщеславие и т.   д., но они являются составными частями зависти, вожделения и жадности.&raquo;</p>
<p>Василий Тушкин</p>
</div>
<br />Filed under: <a href='http://dulanov.wordpress.com/category/opinion/'>opinion</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dulanov.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dulanov.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dulanov.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dulanov.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dulanov.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dulanov.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dulanov.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dulanov.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dulanov.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dulanov.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dulanov.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dulanov.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dulanov.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dulanov.wordpress.com/481/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dulanov.wordpress.com&amp;blog=211218&amp;post=481&amp;subd=dulanov&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dulanov.wordpress.com/2010/08/02/%d1%88%d0%b5%d1%81%d1%82%d1%8c-%d0%b2%d0%bd%d1%83%d1%82%d1%80%d0%b5%d0%bd%d0%bd%d0%b8%d1%85-%d0%b2%d1%80%d0%b0%d0%b3%d0%be%d0%b2-%d1%87%d0%b5%d0%bb%d0%be%d0%b2%d0%b5%d0%ba%d0%b0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25ad930eb798884e4ec5c56cd3aa9df3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dulanov</media:title>
		</media:content>
	</item>
		<item>
		<title>Моделирование социальных сетей</title>
		<link>http://dulanov.wordpress.com/2010/06/21/modeling-of-social-nets/</link>
		<comments>http://dulanov.wordpress.com/2010/06/21/modeling-of-social-nets/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 04:32:04 +0000</pubDate>
		<dc:creator>dulanov</dc:creator>
				<category><![CDATA[opinion]]></category>
		<category><![CDATA[jena]]></category>
		<category><![CDATA[owl]]></category>
		<category><![CDATA[social]]></category>
		<category><![CDATA[sparql]]></category>

		<guid isPermaLink="false">http://dulanov.wordpress.com/?p=461</guid>
		<description><![CDATA[Губанов Д.А., Новиков Д.А., Чхартишвили А.Г. «Социальные сети: модели информационного влияния, управления и противоборства», 2010 &#8211; 228 стр. (скачать в PDF-формате, зеркало). В последнее время социальные сети все чаще и чаще становятся ареной информационных противоборств. В рецензируемой книге предпринята попытка систематизировать математические модели касающиеся информационного влияния, управления и противоборства в социальных сетях, а также представлен [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dulanov.wordpress.com&amp;blog=211218&amp;post=461&amp;subd=dulanov&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" style="margin:7px;" title="обложка" src="http://my-shop.ru/_files/product/2/57/562887.jpg" alt="" width="160" height="229" /><a href="http://dmitrygubanov.moikrug.ru">Губанов Д.А.</a>, Новиков Д.А., Чхартишвили А.Г. «Социальные сети: модели информационного влияния, управления и противоборства», 2010 &#8211; 228 стр. (<a href="http://www.mtas.ru/search/redirect.php?xml_id=17947&amp;event1=download&amp;event2=pdf&amp;event3=/upload/library/SN59.pdf&amp;goto=/upload/library/SN59.pdf">скачать в PDF-формате</a>, <a href="http://dl.dropbox.com/u/209624/SN59.pdf">зеркало</a>).</p>
<p>В последнее время социальные сети все чаще и чаще становятся ареной информационных противоборств. В рецензируемой книге предпринята попытка систематизировать математические модели касающиеся информационного влияния, управления и противоборства в социальных сетях, а также представлен программный комплек для проведения имитационного моделирования интересующих исследователя жизненных сценариев. Работа рассчитана в основном на студентов вузов, аспирантов и специалистов по   информационным технологиям и моделированию социальных систем и   процессов.</p>
<p><span id="more-461"></span>Введение содержит краткий анализ использования оптимизационных (включая имитационные) теоретико-игровых моделей для описания взаимодействия пользователей (агентов) в социальной сети (графовая структура данных). Завершается глава сводной таблицей, в которой столбцы соответствуют описываемым моделям («Модели с порогами», «Модели независимых каскадов», «Модели просачивания и задерживания» и пр.), а строки &#8211; свойствам, присущим социальным сетям («наличие собственного мнения у агента», «существование косвенного  влияния», «возможность стихийного образования групп по интересам» и пр.).</p>
<p>Во второй главе рассматриваются стохастические (термодинамические) модели больших социальных сетей, построенные исходя из базовых принципов поведения агента в социальной сети. Эти принципы выражаются во влиянии на поведение агента трех факторов: индивидуального, социального и управленческого. Стохастический подход к описанию поведения социальных сетей основан на следующей идее: такие понятия, как «зависимость поведения», «цена автономности», «цена взаимовлияния», «потенциальная ценность социальной сети» имеют прямые аналогии в статистической физике и теории информации, что позволяет использовать математические модели, разработанные в в этих областях науки.</p>
<p>Третья глава книги является ключевой и содержит оригинальные результаты авторов и их коллег по построению и исследованию теоретических моделей информационного влияния, управления и противоборства в социальных сетях. Динамика влияния описывается марковским процессом, а мнения рассчитываются при помощи графа влияний. Вводятся понятия сообществ, групп и спутников. С помощью результирующей структуры влияний доказывается, что мнения спутников определяются мнением групп, а в группах мнения становятся одинаковыми в рамках каждой группы.</p>
<p>На основе модели информационного влияния ставится и решается задача информационного управления – воздействия на пользователей социальной сети с целью формирования требуемых их итоговых мнений. Рассматриваются случаи оказания воздействий как на мнения, так и на доверие, а также на репутацию выбранных пользователей социальной сети. В качестве примера одного из полученных теоретических результатов можно привести следующий: для достижения требуемых мнений в сети по интересующему вопросу перед «вбросом» соответствующей информации в сеть следует повысить свою репутацию, высказывая «популярное» мнение по остальным вопросам.</p>
<p>Далее формулируется и решается задача информационного противоборства – взаимодействия нескольких управляющих субъектов (центров), осуществляющих информационные воздействия на агентов в сети.  В общем случае интересы центров не совпадают, поэтому между ними может возникнуть информационная война. Однако, как оказывается, при соблюдении условия согласования интересов (оно приводится в книге) центрам выгоднее действовать совместно. В перспективе можно рассматривать задачу раздела сфер влияния, т.е. определения того, какие агенты будут контролироваться тем или иным центром.</p>
<p>В качестве одного из случаев информационного противоборства рассматривается информационная эпидемия в социальной сети (т.е. распространение мнений в сети от одного активного агента к другому пассивному агенту) и защита от нее. Проводится формализация задачи противоборства путем сведения к биматричной игре. Отметим, что данная модель информационной эпидемии может, по-видимому, использоваться также для анализа распространения вирусов в компьютерных сетях.</p>
<p>В четвертой, завершающей главе приведено описание программного комплекса для проведения имитационного моделирования социальных сетей, который обеспечивает:</p>
<ol>
<li>представление структуры социальной сети;</li>
<li>воспроизведение моделируемых процессов для их анализа, интерпретации и оценки;</li>
<li>возможность использования описанных в третьей главе математических моделей.</li>
</ol>
<p>Для представления социальной сети и задания на ней семантических отношений (Агент, Доверие, Социальная сеть) были разработаны онтологии базовой структуры социальной сети и социально-сетевых сервисов <a href="http://en.wikipedia.org/wiki/Web_Ontology_Language">в нотации OWL</a>. В качестве декларативного языка запросов для анализа графовой структуры социальной сети был задействован <a href="http://en.wikipedia.org/wiki/SPARQL">язык SPARQL</a>. Ключевые элементы этого языка: поддержка работы с путями в графе, поиск с использованием групповых символов, функции агрегирования (сумма, среднее, минимум, максимум), функции агрегирования множеств (объединение, пересечение, дополнение), поддержка пользовательских функций. Для работы с онтологиями использовалась <a href="http://openjena.org/">библиотека с открытыми исходными текстами Jena</a>, а первичные же данные для проведения имитационного моделирования были взяты через <a href="http://code.google.com/apis/socialgraph/">Google Social Graph API</a> и преобразованы из JSON в RDF.</p>
<p>Для удобства интерпретации получаемых результатов была разработана интерактивная подсистема визуализации данных. За практическими результатами проведения имитационных испытаний отсылаю читателей <a href="http://www.mtas.ru/search/redirect.php?xml_id=17947&amp;event1=download&amp;event2=pdf&amp;event3=/upload/library/SN59.pdf&amp;goto=/upload/library/SN59.pdf">к самой книге</a>, скажу только, что они достаточно релевантно отображают то, с чем мы сами ежедневно сталкиваемся в социальных сетях =)</p>
<p>Ps Обсуждение книги <a href="http://habrahabr.ru/blogs/books/98867/">на Хабрахабре</a>.</p>
<br />Filed under: <a href='http://dulanov.wordpress.com/category/opinion/'>opinion</a> Tagged: <a href='http://dulanov.wordpress.com/tag/jena/'>jena</a>, <a href='http://dulanov.wordpress.com/tag/owl/'>owl</a>, <a href='http://dulanov.wordpress.com/tag/social/'>social</a>, <a href='http://dulanov.wordpress.com/tag/sparql/'>sparql</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dulanov.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dulanov.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dulanov.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dulanov.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dulanov.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dulanov.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dulanov.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dulanov.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dulanov.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dulanov.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dulanov.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dulanov.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dulanov.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dulanov.wordpress.com/461/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dulanov.wordpress.com&amp;blog=211218&amp;post=461&amp;subd=dulanov&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dulanov.wordpress.com/2010/06/21/modeling-of-social-nets/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25ad930eb798884e4ec5c56cd3aa9df3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dulanov</media:title>
		</media:content>

		<media:content url="http://my-shop.ru/_files/product/2/57/562887.jpg" medium="image">
			<media:title type="html">обложка</media:title>
		</media:content>
	</item>
		<item>
		<title>Использование Apache Camel на примере аккаунта Twitter публикующего текущие курсы валют ЦБ РФ</title>
		<link>http://dulanov.wordpress.com/2010/04/21/cbrru-agent-announcement/</link>
		<comments>http://dulanov.wordpress.com/2010/04/21/cbrru-agent-announcement/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 14:07:44 +0000</pubDate>
		<dc:creator>dulanov</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[webofdata_ru]]></category>
		<category><![CDATA[apache camel]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[gradle]]></category>
		<category><![CDATA[groovy]]></category>

		<guid isPermaLink="false">http://dulanov.wordpress.com/?p=435</guid>
		<description><![CDATA[Где-то под новый год сидя в офисе мы со @splix (Игорем Артамоновым) обнаружили дефицит реальных практических примеров использования Apache Camel. В общем догло ли, коротко ли, решили сделать пример по публикации курсов валют с сайта ЦБ РФ в Twitter и чтобы это все работало из коробки одной командой. Сегодня я рад представить вам базовый вариант [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dulanov.wordpress.com&amp;blog=211218&amp;post=435&amp;subd=dulanov&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Где-то под новый год сидя в офисе мы со @splix (<a href="http://artamonov.ru">Игорем Артамоновым</a>) обнаружили дефицит реальных практических примеров использования <a href="http://camel.apache.org/">Apache Camel</a>. В общем догло ли, коротко ли, решили сделать пример по публикации курсов валют с сайта ЦБ РФ в Twitter и чтобы это все работало из коробки одной командой. Сегодня я рад представить вам <a href="http://github.com/dulanov/cbrru-agent">базовый вариант этой задумки</a>. Посмотреть результаты работы можно <a href="http://twitter.com/cbrru">здесь</a>.</p>
<p>Реализация сделана полностью на Groovy в виде пяти файлов, два из которых модульный тесты и еще один сборка <a href="http://www.gradle.org/">Gradle</a>. Шаги для запуска примера:</p>
<ol>
<li>Установить Sun JDK 1.6+.</li>
<li>Скачать Gradle 0.9+.</li>
<li>Установить систему контроля версий Git.</li>
<li>Забрать пример с GitHub &#8211; &#8216;git clone git@github.com:dulanov/cbrru-agent.git&#8217;.</li>
<li>Скопировать build.properties.template в build.properties и прописать параметры своего аккаунта Twitter.</li>
<li>Запустить командой &#8216;gradle -q run&#8217;.</li>
</ol>
<p>Код интеграции говорит сам за себя, спасибо лаконичности <a href="http://camel.apache.org/dsl.html">Apache Camel DSL</a>:</p>
<pre class="brush: groovy;">
from('quartz://timer?cron=13+01+15+?+*+MON-FRI')
.to('http://www.cbr.ru/scripts/XML_daily.asp')
.transform(body(CurrencyRates.class))
.to(&quot;log:${this.class.package.name}?level=INFO&amp;multiline=true&quot;)
.process({twitter.updateStatus(it?.in.body as String)} as Processor)
</pre>
<p>Остальные детали по адресу <a href="http://github.com/dulanov/cbrru-agent">http://github.com/dulanov/cbrru-agent</a>.</p>
<br />Filed under: <a href='http://dulanov.wordpress.com/category/programming/'>programming</a>, <a href='http://dulanov.wordpress.com/category/webofdata_ru/'>webofdata_ru</a> Tagged: <a href='http://dulanov.wordpress.com/tag/apache-camel/'>apache camel</a>, <a href='http://dulanov.wordpress.com/tag/github/'>github</a>, <a href='http://dulanov.wordpress.com/tag/gradle/'>gradle</a>, <a href='http://dulanov.wordpress.com/tag/groovy/'>groovy</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dulanov.wordpress.com/435/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dulanov.wordpress.com/435/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dulanov.wordpress.com/435/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dulanov.wordpress.com/435/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dulanov.wordpress.com/435/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dulanov.wordpress.com/435/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dulanov.wordpress.com/435/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dulanov.wordpress.com/435/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dulanov.wordpress.com/435/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dulanov.wordpress.com/435/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dulanov.wordpress.com/435/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dulanov.wordpress.com/435/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dulanov.wordpress.com/435/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dulanov.wordpress.com/435/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dulanov.wordpress.com&amp;blog=211218&amp;post=435&amp;subd=dulanov&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dulanov.wordpress.com/2010/04/21/cbrru-agent-announcement/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25ad930eb798884e4ec5c56cd3aa9df3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dulanov</media:title>
		</media:content>
	</item>
		<item>
		<title>Переопределение методов equals() и hashCode() в Groovy</title>
		<link>http://dulanov.wordpress.com/2010/04/21/groovy-equals-hashcode-methods-overriding/</link>
		<comments>http://dulanov.wordpress.com/2010/04/21/groovy-equals-hashcode-methods-overriding/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 08:58:01 +0000</pubDate>
		<dc:creator>dulanov</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[groovy]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://dulanov.wordpress.com/?p=420</guid>
		<description><![CDATA[Groovy реально позволяет избавиться от поносамногословия Java. Но вчера столкнулся с необходимостью переопределения всем хорошо известных методов equals() и hashCode(). Оказывается, Groovy не упрощает жизнь в этом вопросе. Но у меня не возникло ровно никакого желания писать такую простыню, использовать же попахивающую тухлецом библиотеку Jakarta Commons Lang тоже не было никакого желания. Что же остается [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dulanov.wordpress.com&amp;blog=211218&amp;post=420&amp;subd=dulanov&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://groovy.codehaus.org/">Groovy</a> реально позволяет избавиться от <span style="text-decoration:line-through;">поноса</span>многословия Java. Но вчера столкнулся с необходимостью переопределения всем хорошо известных методов equals() и hashCode(). Оказывается, Groovy не упрощает жизнь <a href="http://stackoverflow.com/questions/1407311/groovy-generate-equals-and-hashcode-methods">в этом вопросе</a>. Но у меня не возникло ровно никакого желания писать такую простыню, использовать же попахивающую тухлецом <a href="http://commons.apache.org/lang/api-release/org/apache/commons/lang/builder/EqualsBuilder.html">библиотеку Jakarta Commons Lang</a> тоже не было никакого желания.</p>
<p>Что же остается делать? Ну, можно использовать появившийся <a href="http://www.infoq.com/articles/groovy-1-6">в версии Groovy 1.6</a> <a href="http://groovy.codehaus.org/Immutable+AST+Macro">макрос @Immutable</a>. Но невозможность переопределения конструктора и вообще достаточно сильные накладываемые ограничения на класс не позволили мне этого сделать.</p>
<p>Ок, пошел посмотрел как обстоят дела у наших соседей &#8211; языка Ruby, ведь не секрет что очень много в Groovy стырино именно оттуда, а Ruby в свое время скоммуниздил все что надо из Smalltalk. В итоге, как и ожидалось, у Ruby таких проблем в принципе нет и все ограничивается чем-то наподобии:</p>
<pre class="brush: ruby;">
def ==(other)
  @suit == other.suit and @kind == other.kind
end
</pre>
<p>Видимо карма такая у Java &#8211; все усложнять и там где уместна одна строчка, должно быть десять и непременно парочка XML-файлов конфигурации, чтобы не расслаблялись =)</p>
<p>В общем решил забить и на Java <a href="http://www.amazon.com/Effective-Java-2nd-Joshua-Bloch/dp/0321356683/">с ее гуру Джошуа Блохом</a> и написать по аналогии как это делается в Ruby:</p>
<pre class="brush: groovy;">
enum CurrencyCode {
 USD('$'), EUR('€'), CNY('¥')

 char symbol

 CurrencyCode(symbol) {
   this.symbol = symbol
 }
}

class CurrencyRate implements Comparable&lt;CurrencyRate&gt; {
 def code, value

 CurrencyRate(aCode, aValue) {
   (code, value) = [aCode, aValue]
 }

 int compareTo(CurrencyRate rate) {
   this.code &lt;=&gt; rate.code ?: this.value &lt;=&gt; rate.value
 }

 int hashCode() {
   31 * (code?.hashCode()?: 0) + (value?.hashCode()?: 0)
 }

 boolean equals(obj) {
   obj in CurrencyRate &amp;&amp; code == obj.code &amp;&amp; value == obj.value
 }

 String toString() {
   String.format &quot;1%c = %.4f р.&quot;, code.symbol, value
 }
}
</pre>
<p>Возможно, этот код нарушит какую-то из непреложных заповедей Джошуа, а может и несколько, зато я получил то, ради чего и начал использовать Groovy &#8211; гибкость и лаконичность кода!</p>
<br />Filed under: <a href='http://dulanov.wordpress.com/category/programming/'>programming</a> Tagged: <a href='http://dulanov.wordpress.com/tag/groovy/'>groovy</a>, <a href='http://dulanov.wordpress.com/tag/java/'>java</a>, <a href='http://dulanov.wordpress.com/tag/ruby/'>ruby</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dulanov.wordpress.com/420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dulanov.wordpress.com/420/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dulanov.wordpress.com/420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dulanov.wordpress.com/420/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dulanov.wordpress.com/420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dulanov.wordpress.com/420/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dulanov.wordpress.com/420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dulanov.wordpress.com/420/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dulanov.wordpress.com/420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dulanov.wordpress.com/420/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dulanov.wordpress.com/420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dulanov.wordpress.com/420/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dulanov.wordpress.com/420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dulanov.wordpress.com/420/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dulanov.wordpress.com&amp;blog=211218&amp;post=420&amp;subd=dulanov&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dulanov.wordpress.com/2010/04/21/groovy-equals-hashcode-methods-overriding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25ad930eb798884e4ec5c56cd3aa9df3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dulanov</media:title>
		</media:content>
	</item>
		<item>
		<title>Результат двухдневных извращений с SSHTools</title>
		<link>http://dulanov.wordpress.com/2009/08/20/resultat-dvuhdnevnuh-izvrasheniy-s-sshtools/</link>
		<comments>http://dulanov.wordpress.com/2009/08/20/resultat-dvuhdnevnuh-izvrasheniy-s-sshtools/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 15:41:38 +0000</pubDate>
		<dc:creator>dulanov</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[ant builder]]></category>
		<category><![CDATA[apache ant]]></category>
		<category><![CDATA[gdk]]></category>
		<category><![CDATA[groovy]]></category>
		<category><![CDATA[jsch]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://dulanov.wordpress.com/?p=342</guid>
		<description><![CDATA[Задача: из Java удаленно по SSH запустить приложений и забрать log-файл. Два дня копался с SSHTools, задолбался, посмотрел JSch &#8211; ужаснулся. В итоге лень взяла вверх и тупо решил использовать готовые задачи из Apache Ant sshexec и scp с помощью AntBuilder из GDK (Groovy JDK). Смотрим, что получилось: // SSHRunner.java import groovy.util.AntBuilder; import java.util.HashMap; import [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dulanov.wordpress.com&amp;blog=211218&amp;post=342&amp;subd=dulanov&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Задача: из Java удаленно по SSH запустить приложений и забрать log-файл.</p>
<p>Два дня копался с SSHTools, задолбался, посмотрел JSch &#8211; ужаснулся. В итоге лень взяла вверх и тупо решил использовать готовые задачи из Apache Ant sshexec и scp с помощью AntBuilder из GDK (Groovy JDK). Смотрим, что получилось:</p>
<pre class="brush: java;">
// SSHRunner.java
import groovy.util.AntBuilder;

import java.util.HashMap;

import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class SSHRunner {

 private final static Log LOG = LogFactory.getLog(SSHRunner.class);

 public final static int DEFAULT_SSH_PORT = 22;

 private int port;
 private String host, username, password;

 private AntBuilder builder = new AntBuilder();

 public SSHRunner(String host, String username, String password) {
 this(host, DEFAULT_SSH_PORT, username, password);
 }

 public SSHRunner(String host, int port, String username, String password) {
 if (StringUtils.isEmpty(host) || port &lt; 1 || StringUtils.isEmpty(username) || StringUtils.isEmpty(password)) {
 throw new IllegalArgumentException(&quot;All parameters must be at least one character&quot;);
 }

 this.host = host;
 this.port = port;
 this.username = username;
 this.password = password;
 }

 @SuppressWarnings(&quot;serial&quot;) public SSHRunner sshexec() {
 builder.invokeMethod(&quot;sshexec&quot;, new HashMap() {{
 put(&quot;host&quot;, host);
 put(&quot;trust&quot;, &quot;true&quot;);
 put(&quot;port&quot;, Integer.toString(port));
 put(&quot;username&quot;, username);
 put(&quot;password&quot;, password);
 put(&quot;command&quot;, &quot;cscript c:\\test.vbs&quot;);
 }});
 return this;
 }

 @SuppressWarnings(&quot;serial&quot;) public SSHRunner scp(final String filepath) {
 builder.invokeMethod(&quot;scp&quot;, new HashMap() {{
 put(&quot;trust&quot;, &quot;true&quot;);
 put(&quot;port&quot;, Integer.toString(port));
 put(&quot;remoteFile&quot;, String.format(&quot;%s:%s@%s:c:\\testfile.txt&quot;, username, password, host));
 put(&quot;localTofile&quot;, filepath);
 }});
 return this;
 }

 public static void main(String[] args) {
 new SSHRunner(&quot;127.0.0.1&quot;, &quot;admin&quot;, &quot;password&quot;).sshexec().scp(&quot;/home/dulanov/Desktop/test.txt&quot;);
 }
}
</pre>
<br />Posted in programming Tagged: ant builder, apache ant, gdk, groovy, jsch, ssh <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dulanov.wordpress.com/342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dulanov.wordpress.com/342/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dulanov.wordpress.com/342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dulanov.wordpress.com/342/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dulanov.wordpress.com/342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dulanov.wordpress.com/342/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dulanov.wordpress.com/342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dulanov.wordpress.com/342/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dulanov.wordpress.com/342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dulanov.wordpress.com/342/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dulanov.wordpress.com/342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dulanov.wordpress.com/342/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dulanov.wordpress.com/342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dulanov.wordpress.com/342/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dulanov.wordpress.com&amp;blog=211218&amp;post=342&amp;subd=dulanov&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dulanov.wordpress.com/2009/08/20/resultat-dvuhdnevnuh-izvrasheniy-s-sshtools/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25ad930eb798884e4ec5c56cd3aa9df3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dulanov</media:title>
		</media:content>
	</item>
		<item>
		<title>iBatis enum type handler with Mockito</title>
		<link>http://dulanov.wordpress.com/2009/08/19/ibatis-enum-type-handler-with-mockito/</link>
		<comments>http://dulanov.wordpress.com/2009/08/19/ibatis-enum-type-handler-with-mockito/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 05:45:38 +0000</pubDate>
		<dc:creator>dulanov</dc:creator>
				<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://dulanov.wordpress.com/?p=338</guid>
		<description><![CDATA[How to handler multiple-values String-based Enums in Java for Apache iBatis with Mockito unit test: EnumTypeHandlerImplTest, TypeHandlerCallback. Posted in programming<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dulanov.wordpress.com&amp;blog=211218&amp;post=338&amp;subd=dulanov&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>How to handler multiple-values String-based Enums in Java for Apache iBatis with Mockito unit test:<a href="http://gist.github.com/170190"> EnumTypeHandlerImplTest</a>,<a href="http://gist.github.com/170191"> TypeHandlerCallback</a>.</p>
<br />Posted in programming  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dulanov.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dulanov.wordpress.com/338/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dulanov.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dulanov.wordpress.com/338/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dulanov.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dulanov.wordpress.com/338/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dulanov.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dulanov.wordpress.com/338/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dulanov.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dulanov.wordpress.com/338/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dulanov.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dulanov.wordpress.com/338/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dulanov.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dulanov.wordpress.com/338/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dulanov.wordpress.com&amp;blog=211218&amp;post=338&amp;subd=dulanov&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dulanov.wordpress.com/2009/08/19/ibatis-enum-type-handler-with-mockito/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25ad930eb798884e4ec5c56cd3aa9df3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dulanov</media:title>
		</media:content>
	</item>
		<item>
		<title>Книги по Semantic Web &#8211; что издать?</title>
		<link>http://dulanov.wordpress.com/2009/08/03/knigi-po-semantic-web-4to-izdat/</link>
		<comments>http://dulanov.wordpress.com/2009/08/03/knigi-po-semantic-web-4to-izdat/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 18:31:40 +0000</pubDate>
		<dc:creator>dulanov</dc:creator>
				<category><![CDATA[opinion]]></category>

		<guid isPermaLink="false">http://dulanov.wordpress.com/?p=326</guid>
		<description><![CDATA[Виктор Штонда, генеральный директор издательства «Диалектика»: На английском языке вышли две знаковые книги по теме Semantic Web. Насколько они необходимы на русском языке? &#8211; зависит от Ваших мнений и комментариев. В моем блоге обсуждаются две книги-кандидата на перевод и издание на русском языке: «Semantic Web Programming» и «Semantic Web For Dummies» («Семантический Веб для чайников»). [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dulanov.wordpress.com&amp;blog=211218&amp;post=326&amp;subd=dulanov&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://shtonda.blogspot.com/">Виктор Штонда</a>, генеральный директор издательства «Диалектика»:</p>
<blockquote><p>На английском языке вышли две знаковые книги по теме Semantic Web.<br />
Насколько они необходимы на русском языке? &#8211; зависит от Ваших мнений и<br />
комментариев. В моем блоге обсуждаются две книги-кандидата на перевод<br />
и издание на русском языке: «Semantic Web Programming» и «Semantic Web<br />
For Dummies» («Семантический Веб для чайников»). Только Ваша активная<br />
позиция в столь непростое время будет способствовать появлению новых и<br />
нужных Вам книг.</p></blockquote>
<table border="0" cellspacing="4" cellpadding="4">
<tbody>
<tr>
<td><a href="http://www.amazon.com/Semantic-Web-Programming-John-Hebeler/dp/047041801X/ref=pd_bxgy_b_img_a"><img src="http://www.progeny.net/People/MattFisher/files/images/SWPCover.jpg" alt="" width="151" height="190" /></a></td>
<td>&nbsp;&nbsp;&nbsp;<a href="http://www.amazon.com/Semantic-Web-Dummies-Computer-Tech/dp/0470396792/ref=pd_bxgy_b_text_c"><img src="http://blogstats.files.wordpress.com/2009/03/web3-dummies-big.jpg?w=153&#038;h=191" alt="" width="153" height="191" /></a></td>
<td>&nbsp;&nbsp;&nbsp;<a href="http://www.amazon.com/Programming-Semantic-Web-Toby-Segaran/dp/0596153813/ref=pd_sim_b_2"><img src="http://rgr-static1.tangentlabs.co.uk/media/9780596153816/programming-the-semantic-web.jpg" alt="" width="148" height="192" /></a></td>
</tr>
</tbody>
</table>
<p>Также стоит отметить третью книгу по этой тематике, вышедшую в этом году: «<a href="http://www.amazon.com/gp/product/0596153813/ref=s9_simz_gw_s0_p14_t1?pf_rd_m=ATVPDKIKX0DER&amp;pf_rd_s=center-1&amp;pf_rd_r=1Y3CTR1VK1Y9TSRZZYKW&amp;pf_rd_t=101&amp;pf_rd_p=470938131&amp;pf_rd_i=507846">Programming the Semantic Web</a>».</p>
<p>Книги свежие и их толком мало кто ещё успел прочитать в оригинале, тем не менее, уже на уровне глав издательств появляется серьезная заинтересованность в освещении тематики семантического веба и реальная возможность поспособствовать выбору именно той книги, которая в большей степени была бы полезна российскому читателю.</p>
<br />Posted in opinion  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dulanov.wordpress.com/326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dulanov.wordpress.com/326/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dulanov.wordpress.com/326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dulanov.wordpress.com/326/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dulanov.wordpress.com/326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dulanov.wordpress.com/326/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dulanov.wordpress.com/326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dulanov.wordpress.com/326/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dulanov.wordpress.com/326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dulanov.wordpress.com/326/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dulanov.wordpress.com/326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dulanov.wordpress.com/326/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dulanov.wordpress.com/326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dulanov.wordpress.com/326/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dulanov.wordpress.com&amp;blog=211218&amp;post=326&amp;subd=dulanov&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dulanov.wordpress.com/2009/08/03/knigi-po-semantic-web-4to-izdat/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25ad930eb798884e4ec5c56cd3aa9df3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dulanov</media:title>
		</media:content>

		<media:content url="http://www.progeny.net/People/MattFisher/files/images/SWPCover.jpg" medium="image" />

		<media:content url="http://blogstats.files.wordpress.com/2009/03/web3-dummies-big.jpg" medium="image" />

		<media:content url="http://rgr-static1.tangentlabs.co.uk/media/9780596153816/programming-the-semantic-web.jpg" medium="image" />
	</item>
		<item>
		<title>В мае 2009 года Сеть явно стала умнее</title>
		<link>http://dulanov.wordpress.com/2009/05/25/v-mae-2009-goda-set-yavno-stala-umnee/</link>
		<comments>http://dulanov.wordpress.com/2009/05/25/v-mae-2009-goda-set-yavno-stala-umnee/#comments</comments>
		<pubDate>Mon, 25 May 2009 03:52:51 +0000</pubDate>
		<dc:creator>dulanov</dc:creator>
				<category><![CDATA[webofdata_ru]]></category>

		<guid isPermaLink="false">http://dulanov.wordpress.com/?p=230</guid>
		<description><![CDATA[&#171;Судите сами. 12 мая Google объявила о новом подходе к поиску и новых возможностях для пользователей. 15 мая Стивен Вольфрам, отец широко известной в узких научно-технических кругах программы математических расчётов и визуализации Mathematica, запускает сервис «ответов» Wolfram&#124;Alpha. А на следующей неделе, по слухам, компания Microsoft открывает новый поисковый сервис Kumo с элементами семантического поиска&#8230;&#187; (прочитать [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dulanov.wordpress.com&amp;blog=211218&amp;post=230&amp;subd=dulanov&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>&laquo;Судите сами. 12 мая Google объявила о новом подходе к поиску и новых возможностях для пользователей. 15 мая Стивен Вольфрам, отец широко известной в узких научно-технических кругах программы математических расчётов и визуализации Mathematica, запускает сервис «ответов» Wolfram|Alpha. А на следующей неделе, по слухам, компания Microsoft открывает новый поисковый сервис Kumo с элементами семантического поиска&#8230;&raquo; (<a href="http://www.chaskor.ru/p.php?id=6667">прочитать полностью</a>).</p>
<br />Posted in webofdata_ru  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dulanov.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dulanov.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dulanov.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dulanov.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dulanov.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dulanov.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dulanov.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dulanov.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dulanov.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dulanov.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dulanov.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dulanov.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dulanov.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dulanov.wordpress.com/230/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dulanov.wordpress.com&amp;blog=211218&amp;post=230&amp;subd=dulanov&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dulanov.wordpress.com/2009/05/25/v-mae-2009-goda-set-yavno-stala-umnee/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25ad930eb798884e4ec5c56cd3aa9df3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dulanov</media:title>
		</media:content>
	</item>
		<item>
		<title>Web, часть третья</title>
		<link>http://dulanov.wordpress.com/2009/04/30/web-4ast-tretya/</link>
		<comments>http://dulanov.wordpress.com/2009/04/30/web-4ast-tretya/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 19:50:55 +0000</pubDate>
		<dc:creator>dulanov</dc:creator>
				<category><![CDATA[webofdata_ru]]></category>

		<guid isPermaLink="false">http://dulanov.wordpress.com/?p=224</guid>
		<description><![CDATA[Не совсем разделяю такую точку зрения на Веб 3.0 (моя позиция), но статья интересная и достаточно всеобьемлющая. Перепубликую, чтобы она попала в ленту новостей. Источник &#8211; http://www.osp.ru/os/2009/03/8165094/. В мире шоу-бизнеса успешность проекта часто предопределяет появление в будущем его продолжений. Если фильм имел популярность и принес большую прибыль, продюсеры задумаются о выпуске сиквела и триквела. К [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dulanov.wordpress.com&amp;blog=211218&amp;post=224&amp;subd=dulanov&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em>Не совсем разделяю такую точку зрения на Веб 3.0 (<a href="http://dulanov.wordpress.com/2008/05/24/moya-presenta4ia-na-socialexperience2008/">моя позиция</a>), но статья интересная и достаточно всеобьемлющая. Перепубликую, чтобы она попала <a href="http://lenta.webofdata.ru">в ленту новостей</a>. Источник &#8211; <a href="http://www.osp.ru/os/2009/03/8165094/">http://www.osp.ru/os/2009/03/8165094/</a>.</em></p>
<p><strong><span style="font-size:x-small;">В мире шоу-бизнеса успешность проекта часто предопределяет появление в будущем его продолжений. Если фильм имел популярность и принес большую прибыль, продюсеры задумаются о выпуске сиквела и триквела. К сожалению, часто продолжения, используя для привлечения зрителей выигрышное название первой части, значительно уступают ей по качеству. Подобная ситуация наблюдается и в мире ИТ. Вслед за World Wide Web появляется Web 2.0, а сейчас уже вовсю обсуждается Web 3.0, суля широкой публике семантическую революцию. Но что реально стоит за новой технологией? </span></strong></p>
<p><span style="font-size:14px;">Дмитрий Левшин</span></p>
<p class="text">
<p align="left">Всемирная Паутина была крупнейшим технологическим успехом, а сегодня Internet-сообщество готовится к выходу Web 3.0, хотя нумерация не совсем точно отражает процесс развития технологий – многие идеи Web 2.0 закладывались Тимом Бернерсом-Ли еще при разработке WWW. Web 3.0 часто ассоциируется с семантическим подходом, который, однако, исследуется уже более десяти лет. Каковы перспективы Web 3.0, произведет ли триквел обещанную его авторами революцию [1]?</p>
<p align="left">Идея Semantic Web проста по сути, но тяжела в реализации – сложно научить программных агентов понимать Web-документы, которые для нынешних браузеров являются книгой на незнакомом языке с кем-то оставленными пометками на полях. Программа лишь ищет эти пометки, поскольку только их понимает и воспринимает как команды, а цель Semantic Web – понять текст. Такой «поумневший» агент сможет, общаясь при этом с другими агентами, автоматически решать многие задачи, с которыми сегодня невозможно справиться без человеческого участия.</p>
<p align="left">Конечно, никто не требует от агентов понимания естественных языков – в этом случае перспективы Semantic Web были бы совсем туманными. Вместо этого отдельные слова в «книге» сопровождаются переводом на язык, понимаемый агентом, – Web-контент сопровождается дополнительной метаинформацией для агента. Важно, что с самого начала Semantic Web задумывался не как замена Всемирной Паутины, а как ее расширение.</p>
<p align="left"><span id="more-224"></span></p>
<p align="left">Первая спецификация модели для описания метаданных о ресурсах – Resource Description Framework (RDF) – появилась в 1999 году, однако консорциум W3C постепенно начал уделять больше внимания XML и Web-сервисам, чем метаданным, и в результате проект заглох. Потом им заинтересовалось агентство DARPA, которое совместно с проектом Европейского союза Information Society Technologies возродило работы, и в 2004 году появились стандарты RDF, RDFS и OWL.</p>
<p align="left">В слоеном пироге должен был появиться следующий уровень – правила. В этот момент сама архитектура была подвергнута критике за негибкость, неспособность надлежащим образом поддерживать правила в семантике реляционных баз данных, и как альтернатива была предложена новая, мультистековая архитектура. И хотя появлялись проекты языков правил, соответствующие обеим архитектурам, альтернативная архитектура развития не получила. Главной причиной ее провала является то, что она увеличивает разнородность, а это противоречит задаче интеграции, которая ставилась перед Semantic Web. В мае 2004 года консорциум W3C опубликовал предложение языка SWRL правил Semantic Web, но с того момента язык не развивается.</p>
<p align="left">Научная общественность сфокусировалась на разработке новых расширений OWL, поддерживающих различные аспекты представления информации, включая поддержку неполноты и неточности, ограничений целостности баз данных, более выразительных конструкций логики. Казалось, что после публикации в 2007 году заметки Джеймса Хендлера The Dark Side of the Semantic Web (<a href="http://www2.computer.org/portal/web/csdl/doi/10.1109/MIS.2007.17" target="_blank"><em>www2.computer.org/portal/web/csdl/doi/10.1109/MIS.2007.17</em></a>) исследователями было осознано, что сложившееся представление об онтологиях и Semantic Web в целом как о чем-то сложном и недоступном для понимания лишь отпугивает людей и мешает развитию концепции. Более того, оказалось, что на практике при наличии огромных объемов информации может быть достаточно и «доли семантики» – совсем простых словарей и правил. А поскольку полноценная поддержка логического вывода на основе OWL в этих условиях труднодостижима, стало уделяться внимание определению подмножеств OWL, которые были бы наиболее полезны и эффективны в реализации. Например, корпорация Oracle для поддержки семантических технологий предложила собственные упрощенные диалекты OWL. Тем не менее в декабре 2008 года рабочая группа W3C выпустила рабочий проект нового расширения – OWL 2 (<a href="http://www.w3.org/TR/owl2-syntax" target="_blank"><em>www.w3.org/TR/owl2-syntax</em></a>).</p>
<p align="left">В разнообразии и противоречивости предложений форматов отражается тот факт, что этой задачей в основном занимаются специалисты из сферы искусственного интеллекта и Web-технологий, которые часто движутся в противоположных направлениях, поэтому для успеха Semantic Web важно, чтобы оба «лагеря» пришли к некоторому соглашению, как это было предложено в заметке Хендлера.</p>
<p align="left">Пока ведутся «битвы» за выразительность, консорциумом W3C был разработан ряд языков, важных для интеграции в текущую Web-среду. Язык запросов SparQL (<a href="http://www.w3.org/TR/rdf-sparql-query" target="_blank"><em>www.w3.org/TR/rdf-sparql-query</em></a>) служит точкой доступа из Web-приложений к RDF-данным. Разрабатывается механизм для извлечения RDF-данных из XML- и XHTML-документов, получивший название GRDDL (Gleaning Resource Descriptions from Dialects of Languages, <a href="http://www.w3.org/TR/grddl" target="_blank"><em>www.w3.org/TR/grddl</em></a>), а RDFa (<a href="http://www.w3.org/TR/rdfa-syntax" target="_blank"><em>www.w3.org/TR/rdfa-syntax</em></a>) предлагается как средство встраивания RDF-триплетов в XHTML-документы.</p>
<p align="left"><strong>Трудный возраст </strong></p>
<p align="left">С момента появления идеи Semantic Web уже прошло 10 лет, но до сих пор не удалось прийти к окончательному решению даже по поводу стандартов языков. Как и любая технология с долгим периодом развития, Semantic Web столкнулся с проблемой «курицы и яйца»: разработка семантических приложений не привлекательна, поскольку на них нет спроса (отсутствуют RDF-данные и онтологии), а последние не создаются, так как нет приложений, которые смогут их обрабатывать. Поэтому долгое время задачи создания RDF-данных и Web-онтологий, разработки семантических приложений решались в научных кругах, в которых нашли применение три способа наполнения Semantic Web.</p>
<p align="left">Первый способ заключается в аннотировании Web-контента вручную, однако сил приверженцев концепции для этого будет явно недостаточно, и главный вопрос состоит в том, как заинтересовать этой задачей обычных пользователей. Действительно, люди не будут тратить свое время на разметку Web-контента RDF-тройками, даже если им попытаться объяснить, какие выгоды это принесет в будущем. Тем не менее успех фолксономий Web 2.0 и Wikipedia показывает, что пользователей можно заинтересовать – им нравится ощущать сопричастность к масштабному мероприятию и видеть непосредственную пользу от своих действий. С учетом этих психологических моментов для вовлечения пользователей в аннотирование был разработан проект целевых игр OntoGame (<em><a href="http://www.ontogame.org/" target="_blank">www.ontogame.org</a></em>).</p>
<p align="left">Участие человека особенно важно на начальном этапе наполнения Semantic Web данными, когда существующих RDF-данных недостаточно для обучения алгоритмов автоматического извлечения. Но в дальнейшем может применяться второй способ: использование экспортеров из существующих сервисов и хранилищ данных. Задача семантического аннотирования Web-контента сложна и связана с распознаванием образов, обработкой естественного языка, но для источников информации, обладающих некоторой структурой, могут применяться более эффективные методы. К числу таких источников относятся семантические сети и сервисы разделения контента, из которых могут извлекаться профайлы пользователей и связываться с их FOAF-профайла-ми – описаниями в терминах словаря FOAF (<a href="http://www.foaf-project.org/" target="_blank"><em>www.foaf-project.org</em></a>). RDF-тройки и описания можно создавать на основе технологий Web 2.0 – микроформатов и фолксономий. Представление в Semantic Web статей Wikipedia упрощается при использовании информационных блоков (infobox) – менее формального аналога RDF-описаний.</p>
<p align="left">Третий способ предполагает, что появляющиеся семантические приложения будут использовать RDF для представления собственных данных. Формы графического интерфейса могут определяться описаниями в онтологиях, где каждому свойству соответствует отдельное поле. Для решения собственной задачи пользователю потребуется заполнить такую форму, и при этом сразу будут созданы RDF-тройки. Подобный подход используется в Freebase (<a href="http://www.freebase.com/" target="_blank"><em>www.freebase.com</em></a>) – англоязычной энциклопедии, аналоге Wikipedia, акцент в которой сделан не на статьи, а на описание фактов. Freebase использует жесткую политику изменения схемы: выделяются несколько групп пользователей по приоритетам, и только самые приоритетные могут изменять или добавлять новые онтологии. Такое решение оправдано существенным влиянием онтологий на формирование статей. Другим примером может быть хранение информации, введенной пользователем при регистрации на некотором сайте, в виде RDF-триплетов, используя FOAF.</p>
<p align="left">Независимо от выбранного способа создания RDF-данных, описание ресурсов должно выполняться в соответствии с некоторой онтологией, поэтому задача создания онтологий также важна, но неясно, кто и как этим будет заниматься. Есть набор широко известных словарей и онтологий, таких как dc, FOAF, и новые онтологии должны по возможности использовать их, а не переопределять термины. Поскольку Semantic Web не предполагает централизованного управления, то автором онтологий может быть любой. Однако недостаточно просто создать собственную онтологию – необходимо, чтобы она стала известна и популярна у других пользователей. Появления популярных словарей с большой вероятностью можно ожидать в обширных сообществах, в крупных компаниях или их объединениях, на основе существующих стандартов коммерческой или другой деятельности, государственного решения. Последствием такого развития является возникновение многих локальных семантических паутин, использующих различные, возможно несовместимые онтологии. Объединение локальных паутин в глобальный Semantic Web может произойти в результате процесса, напоминающего естественный отбор, при котором от словарей отказываются при наличии других, описывающих те же понятия, но использование которых сулит больше возможностей или выгоду.</p>
<p align="left">Созданный в феврале 2007 года проект Linking Open Data (LOD, <em><a href="http://esw.w3.org/topic/SweoIG/TaskForces/CommunityProjects/LinkingOpenData" target="_blank">esw.w3.org/topic/SweoIG/TaskForces/CommunityProjects/LinkingOpenData</a></em>) может ускорить процесс «отбора» онтологий и наполнения Semantic Web данными. Задачей проекта является определение доступных по открытым лицензиям наборов данных, представление их в RDF и связывание между собой. На рисуноке отражены опубликованные и связанные проектом наборы данных по состоянию на март 2009 года, содержащие более 4,5 млрд RDF-троек.</p>
<p align="left"><strong>Будущее уже здесь </strong></p>
<p align="left">Сколько бы ни тратилось усилий на создание словарей, онтологий и RDF-данных, все они бесполезны, пока нет приложений, способных с ними работать. По оценке Project10X (<a href="http://www.project10x.com/about.php" target="_blank"><em>www.project10x.com/about.php</em></a>), рынок семантических технологий к 2010 году будет составлять 50 млрд долл, поэтому уже сейчас в сферу семантических технологий вовлечено около 300 компаний, включая Adobe Systems, AT&amp;T Research, Cisco Systems, Google, HP, IBM, Microsoft, Oracle, Sony и Yahoo!.</p>
<p align="left"><strong>Поиск</strong>. Одна из причин возросшего интереса к Semantic Web – надежда на улучшение поиска в Сети. Достаточно претенциозное имя у поискового движка Semantic Web – Swoogle, однако надеющийся увидеть в его лице «убийцу Google» будет разочарован: движок позволяет лишь выполнять поиск онтологий по ключевым словам. Такой сервис полезен разработчикам семантических приложений и онтологий, но он не рассчитан на простого пользователя. Другим поисковиком, ориентированным на предоставление данных разработчикам и помогающим им добавлять новые возможности для сервисов, снабжать контент связанной информацией, является созданный в DERI (Digital Enterprise Research Institute – институт исследований Семантического Web) движок Sindice. Источниками информации в нем служат наборы RDF-данных, включая связанные проектом LOD, и микроформаты. Движок Falcons позволяет выполнять поиск RDF-документов или ресурсов по ключевым словам. Можно отметить и другие поисковые движки Semantic Web, многие из которых находятся на стадии бета-тестирования и оценить возможности которых пока трудно: Watson (<a href="http://watson.kmi.open.ac.uk/" target="_blank"><em>watson.kmi.open.ac.uk</em></a>) и Semantic Web Search (<a href="http://www.semanticwebsearch.com/" target="_blank"><em>www.semanticwebsearch.com</em></a>), SWSE (<em><a href="http://swse.deri.org/" target="_blank">swse.deri.org</a></em>) и сервис запросов Zitgist (<em><a href="http://zitgist.com/" target="_blank">zitgist.com</a></em>). В этой же категории находятся браузеры, реализующие концепцию «Web данных»: Tabulator (<em><a href="http://www.w3.org/2005/ajar/tab" target="_blank">www.w3.org/2005/ajar/tab</a></em>), Disco (<em><a href="http://www4.wiwiss.fu-berlin.de/rdf_browser" target="_blank">www4.wiwiss.fu-berlin.de/rdf_browser</a></em>), OpenLink RDF Browser (<em><a href="http://demo.openlinksw.com/rdfbrowser" target="_blank">demo.openlinksw.com/rdfbrowser</a></em>). К интересным проектам в области поиска относится и «Поисковая обезьяна» (SearchMonkey, <em><a href="http://developer.yahoo.com/searchmonkey" target="_blank">developer.yahoo.com/searchmonkey</a></em>) компании Yahoo!, использующая семантическое аннотирование (микроформаты, RDFa) не для улучшения качества поиска, а для более полного и наглядного отображения пользователю полученных результатов.</p>
<p align="left">На фоне этих движков выделяется Powerset (<em><a href="http://www.powerset.com/" target="_blank">www.powerset.com</a></em>), использующий семантические технологии для улучшения возможностей поиска, – его разработчики убеждены, что привычные поисковики приучили людей мыслить в терминах ключевых слов, однако точный и удобный поиск возможен только с помощью запросов в форме полных предложений. Они использовали технологии обработки естественного языка в совокупности с технологиями Web 3.0 для реализации такой возможности. Корпорация Microsoft в августе 2008 года купила компанию Powerset, надеясь улучшить точность поиска своих сервисов. На данный момент Powerset выполняет поиск по статьям Wikipedia.</p>
<p align="left"><strong>Социальные сети.</strong> Один из недостатков таких сервисов – отсутствие связи между различными социальными сетями и адресными книгами, что вынуждает при регистрации повторно вводить персональную информацию, заново искать уже зарегистрированных «друзей» и т.п. Технологии Semantic Web начинают использоваться для преодоления этих недостатков [2]. В процессе инициализации достаточно выдавать пользователю некий уникальный идентификатор, который он мог бы использовать и для регистрации в других сервисах, например, для доступа к многочисленным сервисам Yahoo! (включая Flickr, Upcoming, Yahoo! 360° и др.) можно использовать один Yahoo!ID.</p>
<p align="left">Разработчики Google предложили основанный на FOAF-профайлах Social Graph интерфейс (<em><a href="http://code.google.com/apis/socialgraph" target="_blank">code.google.com/apis/socialgraph</a></em>), который может применяться обычным пользователем, чтобы узнать, с кем он связан в различных сервисах социальных сетей, а также разработчиками таких сайтов для предоставления пользователям новых услуг.</p>
<p align="left">Социальные сети могут предлагать более объектно-ориентированные сервисы, что позволит пользователю находить новых «друзей», разделяющих его интересы, быстрее и проще искать интересный контент. Кроме того, создание таких сообществ по интересам сделает рекламу более эффективной, поскольку ей будет проще найти свою целевую группу. В этом отношении можно отметить сервис Web-телевидения Joost, использующий семантические технологии. Приложение можно подсоединить к социальной сети Facebook (<em><a href="http://www.facebook.com/" target="_blank">www.facebook.com</a></em>) для взаимодействия с «друзьями» на сайте Joost или для обмена историями на Facebook. Задачи доступа с помощью идентификаторов и объектно-центрированного взаимодействия упрощаются, когда информация о контенте и профайлы пользователей хранятся в форматах Semantic Web. Например, средство коллекционирования контента Twine использует RDF и OWL для предоставления более персонифицированных услуг. Популярный сервис для демонстрации фотографий Flickr предоставляет интерфейс создания экспортеров в RDF.</p>
<p align="left">Трудность, с которой может столкнуться внедрение семантических технологий в сервисы социальных сетей, заключается в нежелании популярных сервисов терять своих пользователей, которых часто удерживает лишь опасение потерять установленные контакты.</p>
<p align="left"><strong>Плагины Firefox</strong>. Большинство плагинов, работающих с семантическими технологиями (Operator, RDF Viewer, SemanticRadar, Tabulator), ориентировано на идентификацию и просмотр семантической разметки на Web-страницах, однако один из них – Glue (<a href="http://www.getglue.com/" target="_blank"><em>www.getglue.com</em></a>) компании AdaptiveBlue заслуживает особого внимания. По мнению разработчиков, нужно заниматься не абстрактными проблемами машинного обучения для решения сложных задач и разметки всех Web-документов, а использовать новые технологии для предоставления более интеллектуального и персонифицированного поиска, для которого требуется аннотировать часто используемые вещи. Данный плагин для Firefox позволяет пользователю при входе на популярные сайты по продаже книг, музыки, кино и т.п. автоматически узнать, что думают его друзья или последние посетители о просматриваемом товаре.</p>
<p align="left"><strong>Средства разработки.</strong> Сегодня появились средства создания семантических приложений, упрощающие процесс разработки и решающие различные задачи, от предоставления графического интерфейса для проектирования онтологий до выполнения запросов к RDF-данным и хранения их в реляционных базах данных. Одними из первых появился прикладной интерфейс Jena (<a href="http://jena.sourceforge.net/" target="_blank"><em>jena.sourceforge.net</em></a>) от HP и архитектура Sesame (<a href="http://www.openrdf.org/" target="_blank"><em>www.openrdf.org</em></a>). Для редактирования онтологий могут использоваться бесплатный продукт Prot?g? (<em><a href="http://protege.stanford.edu/" target="_blank">protege.stanford.edu</a></em>), созданный в Стэнфордском центре исследований биомедицинской информатики (Stanford Center for Biomedical Informatics Research), или его коммерческий аналог TopBraid Composer (<a href="http://www.topbraidcomposer.com/" target="_blank"><em>www.topbraidcomposer.com</em></a>) компании TopQuadrant. Кроме редактирования оба средства позволяют присоединять через DIG-интерфейс различные OWL-блоки разбора, такие как Pellet (clarkparsia.com/pellet), Racer (<a href="http://www.racer-systems.com/" target="_blank"><em>www.racer-systems.com</em></a>) и FaCT++ (<a href="http://owl.man.ac.uk/factplusplus" target="_blank"><em>owl.man.ac.uk/factplusplus</em></a>). В IBM создан интегрированный набор средств разработки онтологий IODT (Integrated Ontology Development Toolkit).</p>
<p align="left">Отметим два коммерческих продукта компании Intelldimension, которая в тесном сотрудничестве с Microsoft разработала набор средств Semantics.SDK, расширяющий .NET Framework возможностями создания семантических приложений с помощью объектов, предназначенных для обработки, выполнения логического вывода и запросов относительно данных в форме графов. Флагманским продуктом компании считается система управления данными для семантических приложений RDF Gateway, надстраиваемая над Microsoft SQL Server. Система упрощает использование семантики в приложениях, предоставляя возможности хранения, выполнения запросов и логического вывода и управления большими объемами RDF-данных.</p>
<p align="left">В большинстве систем для создания семантических приложений предлагается использовать СУБД для постоянного хранения больших объемов RDF-данных. В редких случаях используются особенности конкретных СУБД для улучшения производительности и масштабируемости, например, в RDF Gateway для этих целей создано расширение SQL Server, названное Semantics.Server. В Oracle хранение, выполнение запросов к RDF-данным и ограниченные возможности логического вывода встроены в саму СУБД начиная со второго релиза Oracle 10g.</p>
<p align="left">Компания Thomas Reuters выпустила открытый для некоммерческого использования Web-сервис Calais (<a href="http://www.opencalais.com/" target="_blank"><em>www.opencalais.com</em></a>), который создает семантические метаданные для отправляемого пользователем контента (текстовых документов, HTML и XML). Для анализа документов Calais использует методы обработки естественных языков и машинного обучения и выделяет в них именованные сущности, факты и события.</p>
<p align="left">Список приложений Semantic Web не ограничивается упомянутыми, однако среди них нельзя выделить систему, которую можно было бы назвать флагманом Web 3.0. А значит, у любой компании, занимающейся семантическими технологиями, сейчас есть возможность стать лидером на этом рынке.</p>
<p align="left"><strong>Завтра никогда не наступит </strong></p>
<p align="left">Все эти успехи действительно воодушевляют, однако задача, которая ставилась в оригинальной статье [1], заключалась в построении инфраструктуры, необходимой для деятельности интеллектуальных агентов. Джеймс Хендлер в 2001 году считал, что уже через несколько лет использование агентов и онтологий будет обыденным явлением [3]. Но прошло время, и он же был вынужден признать в заметке Where Are All the Intelligent Agents? (<em><a href="http://www2.computer.org/portal/web/csdl/doi/10.1109/MIS.2007.62" target="_blank">www2.computer.org/portal/web/csdl/doi/10.1109/MIS.2007.62</a></em>), что, несмотря на то что, казалось бы, вся инфраструктура готова, ни одной промышленно значимой разработки систем интеллектуальных агентов не появилось.</p>
<p align="left">Трудно представить себе ситуацию, когда у всех перед глазами очевидные возможности получить огромную выгоду, но никто ими не пользуется. Потому и возникают подозрения [4], что развитие Semantic Web отклонилось от первоначальных ориентиров. Исследователи, разработчики из различных областей по-своему используют семантические технологии для расширения собственных систем (СУБД, Web-сервисы). Получая прибыль от своих работ, они усложняют задачу интеграции разнородных данных и сервисов – продолжение движения в этом направлении может означать полный крах оригинальной идеи. Но с этого пути можно свернуть, предприняв усилия по преодолению разнородности – принять общие соглашения о языках и онтологиях, использовать RDF как модели данных в приложениях (native RDF-СУБД), разрабатывать новые языки программирования специально для работы с RDF, чтобы избежать использования привычных типов данных. Вероятность распространения таких изменений предсказать трудно, но можно отметить, что такие работы ведутся: для написания кода Haystack (<a href="http://groups.csail.mit.edu/haystack/index.html" target="_blank"><em>groups.csail.mit.edu/haystack/index.html</em></a>) был создан язык Adenine, использующий концепции Python и Лисп и предназначенный для обработки RDF-данных.</p>
<p align="left">На исследования в области Semantic Web выделяются большие средства, и, хотя в своем развитии концепция сталкивается с различными проблемами, начали появляться не просто академические игрушки, а реальные системы, нацеленные на конкретные потребности обычных пользователей. Следствием этого становится рост объемов RDF-данных, числа онтологий. И все же находятся скептики, которые до сих пор сомневаются в приходе светлого будущего – языки онтологий по-прежнему остаются предметом спора исследователей, а задача создания интеллектуальных агентов, изначально поставленная перед Semantic Web, не приблизилась к решению. Поэтому, когда Web 3.0 придет на смену Web 2.0, возможно, это будет совсем не тот Semantic Web, каким его задумывали.</p>
<p align="left"><strong>Литература </strong></p>
<ol>
<li>
<div>T. Berners-Lee, J. Hendler, O. Lassila. The Semantic Web. // Scientific American. Vol. 284, No. 5, 2001. P. 35-43.</div>
</li>
<li>
<div>J. G. Breslin, S. Decker. The Future of Social Networks on the Internet: The Need for Semantics. // IEEE Internet Computing. Vol. 11, No. 6, 2007. P. 86-90.</div>
</li>
<li>
<div>J. A. Hendler. Agents and the Semantic Web. // IEEE Intelligent Systems. Vol. 16, No. 2, 2001. P. 30-37.</div>
</li>
<li>
<div>C. Bussler. Is Semantic Web Technology Taking the Wrong Turn? // IEEE Internet Computing. Vol. 12, No. 1, 2008. P. 75-79.</div>
</li>
</ol>
<p align="left"><em>Дмитрий Левшин (<a href="mailto:levshin@nicevt.ru">levshin@nicevt.ru</a>) – сотрудник ОАО НИЦЭВТ (Москва). </em></p>
<br />Posted in webofdata_ru  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dulanov.wordpress.com/224/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dulanov.wordpress.com/224/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dulanov.wordpress.com/224/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dulanov.wordpress.com/224/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dulanov.wordpress.com/224/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dulanov.wordpress.com/224/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dulanov.wordpress.com/224/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dulanov.wordpress.com/224/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dulanov.wordpress.com/224/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dulanov.wordpress.com/224/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dulanov.wordpress.com/224/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dulanov.wordpress.com/224/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dulanov.wordpress.com/224/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dulanov.wordpress.com/224/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dulanov.wordpress.com&amp;blog=211218&amp;post=224&amp;subd=dulanov&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dulanov.wordpress.com/2009/04/30/web-4ast-tretya/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25ad930eb798884e4ec5c56cd3aa9df3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dulanov</media:title>
		</media:content>
	</item>
	</channel>
</rss>
