* Общий подход: мягкая интеграция
- Минимум вмешательства в уже существующее положение вещей. То есть, предоставить форму, которая будет подчиняться данным (а не наоборот). Дополнительную информацию о файле предоставлять в виде «оболочки», которая включает внутри себя файл(ы) и другие элементы (наподобие гипертекста, но без возможностей форматирования, которое должно быть представлено внутри самих файлов). Подобные «оболочки» могут также использоваться для маркировки уже существующих файлов, видимого для всех приложений (например, информация, помеченная как «документ проекта» попадет в контекст того же проекта и на другой машине).
- Определить новый семантический протокол (возможно использовать URN) вдобавок к уже существующему http, который нецелесообразно использовать для этих целей (он ставит ресурс/информацию в соответствие с URL, т.е. компьютерный идентификатор, в большинстве случаев, представляющий просто набор символов), вместо этого семантический протокол должен ставить информацию в соответствие идентификатору, который может представлять из себя слово(сочетание) естественного языка, идентификатор таблицы базы данных, так и URL (например, любое слово на гипертекстовой странице может выступать в качестве семантической ссылки, причем результатом будет являться множество соответствующих этому слову ресурсов).
- Информационное пространство должно быть «прозрачно» для пользователя, т.е. информация может запрашиваться из разных источников (как глобальных, так и локальных, см. ниже делегирование).
- Мягкая конкретизация, т.е. возможность устанавливать не полностью детализированные отношения, т.к. пользователь не обладает экспертными знаниями и т.к. не всегда полная конкретизация нужна (например, двигатель машины — это атрибут машины и структурно должен быть представлен отдельным объектом внутри ее? взамен мы можем просто определить, что двигатель находится внутри, без детализации), а также не концентрируясь на проблеме базовых отношений (т.к. пока нет консенсуса возможно ли их определить в принципе).
- Возможность работать с идентификаторами, соединенные в произвольные графы (как альтернатива тройкам, онтологиям и типизации, необходимой в Семантическом Вебе), что сделает семантику доступной для не-экспертов, а в целом будет ближе к ситуации, свойственной естественному языку.
* Идентификация
- Идентификация всех элементов смысла и трансляция идентификаторов между собой (например, слово «корабль» и слово «ship» должны иметь одинаковый языконезависимый идентификатор), этот же идентификатор может транслироваться в локальный идентификатор базы данных для указания типа транспортного средства, а также в элемент графического интерфейса, который используется для редакции этого типа (что позволит, например, произвольную совместимость приложений, т.е. пользователь может сам определить совместимость идентификаторов разных приложений).
- Идентификация предпочтительно должна происходить при создании информации (предполагается, что создатель информации лучше разбирается в области, к которой принадлежит эта информация, к тому же он пользуется контекстами, о которых см. ниже). Таким образом, становятся не нужными сложные вычисления для распознавания (которые сейчас вынуждены делать приложения), которые к тому же дают неоднозначные результаты в сложных случаях.
- Идентификация элементов приложения должны включать не все объекты приложения, а только семантически значимые для пользователя (т.к. иначе пользователь потеряется в большом количестве идентификаторов).
- Трансляция идентификаторов и абстракций между собой, с указанием критериев схожести (например, модель машины может выйти в другой стране с определенными изменениями, в этом случае трансляция двух идентификаторов моделей невозможна, поэтому идентификатор может только «примерно» транслирован в другой идентификатор). В отличие от ключевых слов, тегов, ассоциаций, «похожих тем» и тому подобному, подобная трансляция подразумевает явное определение критериев схожести (абстрагирования), т.е. по сути их типизированию.
- Трансляция идентификаторов в ресурсы (гипертекстовые ссылки, файлы, и т.п.), данная трансляция должна заменить гипертекстовые ссылки, например, вместо связывания определенного слова в гипертексте с URL, мы должны будем связать слово с соответствующим идентификатором, который, в свою очередь, укажет на соответствующую ссылку или ссылки, которые относятся к нему.
- Трансляция идентификаторов может производиться и в вызовы действий/сервисов/методов (с параметрами), что аналогично предложениям естественного языка (например, «я написал письмо другу ручкой» подразумевает либо вызов «написал» с параметрами «письмо», «друг», «ручка», либо «написатьПисьмо» с двумя параметрами, либо «написатьРучкой»). Данный тип трансляции позволит: (1) ссылаться на разные идентификаторы, ресурсы, в зависимости от параметров, (2) более гибко связывать действия (например, страница может иметь идентификатор «написать письмо» без привязки к сервису или приложению), (3) использовать идентификаторы для помощи пользователю (например, инструкция вида «зайти в меню, выбрать в диалоге чекбокс, нажать ОК» может быть представлена в виде исполняемых идентификаторов) и т.п.
- Трансляция идентификаторов должна явно или неявно делегироваться (например, сначала к компьютеру пользователя, затем к более высоким уровням сетевой принадлежности: например, проект, отдел, компания, город, страна, глобальная сеть; как вариант делегация может идти по цепочке пакет приложений, приложение, библиотеки; или же используя контексты; т.е. от низкого к высшим уровням абстрагирования). Таким образом, (1) трансляция будет произведена на уровне, который способен обработать запрос, (2) трансляция может предоставлять разное понимание идентификатора из разных уровней, (3) возможно создание сетей серверов, которые будут отвечать за определенный набор идентификаторов (например, идентификаторы, относящиеся только к биологии и т.д.), (4) упростить обмен информацией (например, вы посылаете идентификатор «документ проекта» коллеге, он пытается его открыть, но операционная система сообщает, что данный документ доступен только на другой машине и предоставляет возможность сохранить его локально).
* Абстрагирование
- Явное представление результатов абстрагирования (например, статья о выпуске модели А машины марки Б должна абстрагироваться в условную фразу «выпуск модели А марки Б», которая состоит из идентификаторов «выпуск», «модель А», «марка Б», связанных между собой, где «модель А» включается в «марку Б», т.к. не может существовать независимо от нее, а «выпуск модели А марки Б» включает в себя все идентификаторы, т.к. является результатом их связывания). Типичным примером представления «идентификатор + абстрагирование» в современном мире является связка «ID + Имя», которая часто используется в приложениях, где первый элемент является компьютерным идентификатором, и второй — обычным.
- Абстрагирование форм языка, многие из которых являются историческими или же предназначены для стыковки разных форм в предложения определенного типа (например, «солнце встает» и «встающее солнце» должно быть представлено двумя одинаковыми идентификаторами, т.к. мы употребляем «встающее» обычно в ситуациях, когда необходимо употребить еще один глагол как в «встающее солнце светило ярко»; или же «плавание корабля» и «корабль плавал»: «плавание» употребляется, когда нужно либо представить объединенное множество действий за определенный период времени, либо когда дальше в предложении будет употреблен глагол «плавание корабля привело к...»).
- Поиск должен сначала использовать результаты абстрагирования (например, если слово «модель А» встречается в фразе «выпуск модели А марки Б», то это является более важным, чем, если это слово встречается в статье о всей продукции компании, что, в свою очередь, является более важным, чем, если это слово встречается в книге о машинах, но, если книга не о самой «модели А»).
- Поиск должен абстрагировать результаты, группируя их на основе абстрактного сравнения (например, поиск по «модели А» должен давать такие группы как «проблемы с моделью А», «магазины, продающие модель А»), что уже делается современными поисковыми системами, но не всегда на регулярной основе. Данная группировка похожа на иерархии, широко применяемые ныне, но группировка является более произвольной, что более точно отражает реальное положение дел (т.к. практически любая иерархия, за малым исключением, является произвольной и зависит от того, как абстрагируется информация).
- Критерии важности, основаны на способе абстрагирования и фильтрации информации (что в современном интерфейсе выражается сортировкой и фильтрацией).