среда, января 16, 2008

Урочище

Термин "урочище" вводит большинство обывателей в ступор. Что же это на самом деле такое: "Горелое болото" — урочище, "Лысая гора" — урочище, "Проходная грива" тоже урочище, хотя там ни горы ни болота нет, зато течет ручей. Википедия тоже мало проясняет:
Урочище — в физической географии, одна из морфологических частей географического ландшафта, сопряженная система фаций, объединяемых общей направленностью физико-географических процессов и приуроченных к одной мезоформе рельефа на однородном субстрате. … Также урочищем называется участок, отличный от окружающей местности, например это может быть болото, лесной массив или нечто подобное, а также участок местности, являющийся естественной границей между чем-либо.
Как-то само собой разумеется, что "урочище" это какой-то особенный участок местности, неважно какой. Однако, это не так, например, поляна в лесу объективно отличается от окружающей местности, однако урочищем эта поляна является далеко не всегда. Суть урочища не в том, что этот участок отличается, а в том, что он именованый. Поляна в лесу станет урочищем только когда на нее начнут ссылаться люди, например, так: "Ведьмина поляна" или "Козий мох". Бессмысленно спрашивать аборигенов об "урочищах". Не знают они что такое урочище "Старый тракт", зато прекрасно осведомлены, что вот это место называется Старым трактом, а вон то — Сухим логом. Собственно, на картах урочища появились именно потому, что потребовалось наносить на карту местные топонимы, которые не укладываются в стройную систему географических наименований. Никакого иного сакрального смысла в урочищах нет. Хороший пример: урочище Перевал Дятлова. До того как дятловцы там гробанулись, никак это место не называлось. Зато потом это место стали называть назвали "перевал Дятлова" и оно просочилось на новые карты уже как урочище.

четверг, января 10, 2008

Блеск и нищета Semantic Web

Случайно обнаружил занятный блог о semantic web на хабрахабре. Занятный он хотя бы тем, что гражданин ушел несколько дальше вольного пересказа завлекалок TBL о том как SW приблежает коммунизм в сторону практическую. Гораздо чаще в семантик вебовских кругах встречаются "теоретики" способные умно рассуждать, но не показывающие никакого практического результата. Полагаю, именно поэтому все SW технологии делятся на две категории: неверно используемые (работающие) и сложные (бесполезные). К первым можно отнести RSS, который хоть и основал на RSS, но никакими преимуществами оного не пользуется. Ко вторым тройку RDF, OWL, SPARQL. Со стороны идея выглядит красивой, до тех пор пока она не выходит за рамки простейшей структуры метаданных "Автор: Василий П, Дата публикации 02-10-2001". Красиво, интересно, но абсолютно бесполезно. Никому не нужны запросы по метаданным страницы, когда есть приличный полнотекстовый поиск, википедия и доступный предметные БД вроде того же IMDB. С другой стороны, для более сложных случаев RDF+OWL годится плохо в силу нескольких врожденных недостатков:

Отсутствие механизмов доверия

Приведу пример из жизни. Занимались мы созданием биологической базы знаний. Ну знаете, белок А образует с белком Б комплекс, который влияет на экспрессию гена С. Казалось бы, идеальное поле для RDF: опиши онтологию и клепай утверждения пока не надоест. Хрен. У каждого утверждения есть источник позволяющий отследить, его происхождение и достоверность. Не бывает непреложных истин данных нам свыше. Отсюда требуется как-то определять источник утверждения. RDF такого механизма не предоставляет, нету в тройке <субъект, предикат, объект> такого свойства. Как следствие, затраты на описание непротиворечивой модели взлетают до небес. Возможно есть способ как-то извратиться и, таки, запихать источник в модель, но мне они не известны.

Отсутствие механизмов ограничения области действия утверждения

Возьмем пример <Россия, Столица, Москва> Верно? Не всегда. С 1712 по 1918гг. Столицей России был Петербург. С 1922 по 1991гг. Москва была столицей другого государства, СССР. Более того, царская Россия до 1917 и Российская Федерация это разные государства. Можно сказать, что Петроград столица России? Нет, потому что ни той России ни Петрограда уже и нет в природе. Но сей факт имел место быть в прошлом.

Отсутствие встроенной поддержки метрик

Устройство А потребляет ток 0.5A, а устройство Б всего 500uA. И как быть? RDF не позволяет указывать тип утверждения. Можно, конечно, создавать объектов для каждого значения, но вам не кажется, что это решение несколько кривовато? Оные проблемы не дают использовать RDF+OWL где либо, где используется агрегация данных из нескольких источников, либо сами данные носят противоречивый характер. В принципе, проблему можно решить раз и навсегда, если добавить каждому RDF утверждению URI, позволяющий определить для него контекст. И тип измеряемой величины, и единицы измерения и источник. Например так: <statement_1, specie_3251, средняя длина листьев, 40cm> <statement_2, specie_3251, максимальная длина листьев, 60cm> <statement_3, specie_3251, средняя длина листьев, 50cm> <statement_4, (statement_1, statement_2), источник, "Аквариумные растения"> <statement_5, statement_3, источник, "Пресноводные тропические растения. Том 3">