Semantic Web — это направление развития Всемирной паутины, позволяющее машинам не только отображать информацию в интернете, но и понимать ее смысл.
В этом курсе вы узнаете, что такое семантика, для чего нужны формальные онтологии, и познакомитесь с основными технологиями Semantic Web: моделью представления данных RDF, языком описания онтологий OWL и языком запросов SPARQL.
Темы курса:
Формальные онтологии;
Язык описания онтологий OWL;
Язык запросов SPARQL;
Semantic Web в дикой природе: популярные ресурсы, онтологии и сервисы.
Курс оформлен в виде слайдов, поэтому он короче, чем обычный учебник.
Смотрите первые две темы на «Хабре». Подпишитесь, чтобы не пропустить следующие.
В настоящее время блоги используются не только для ведения интернет-дневников, но и для создания информационных ресурсов.
В этой статье я хочу показать:
что блоги — хорошее средство коммуникации,
но одно из худших средств хранения структурированной информации;
покажу, что делать, если блог все-таки позиционируется как информационный ресурс;
и опишу формат «архиблога» (блог, ориентированный на ведение архивов), позволяющий сделать блог пригодным для хранения структурированной информации.
Для меня программирование — это не только технология, но и, во многом — искусство. И, поэтому, большое значение имеет красота кода.
Последние несколько лет я собирал приёмы программирования, разрушающие в программном коде его утончённую красоту:
Обязательное хранение размера массива в отдельной переменной;
Доступ к свойствам объекта через obj.getProperty()
и obj.setProperty(value)
;
Использование рекурсии для вычисления факториалов и Чисел Фибоначчи;
Наверняка, в некоторых местах вы будете со мной несогласны — ведь чувство красоты у всех разное.
Читать дальше →«Совершенный Ajax» — новый подход к построению web-приложений, при котором web-сервер не генерирует ни строчки HTML-кода и взаимодействует с внешним миром только посредством web-служб; а клиентский интерфейс реализуется только на основе клиентских HTML, CSS, JavaScript.
Попробуйте угадать: к какой архитектуре относятся web-приложения?
К клиент-серверной говорите? Я ожидал, что Вы так ответите…
Что ж, давайте разберёмся. В клиент-серверной архитектуре выделяют [1]:
Сервер — отвечает за хранение данных и бизнес-логику приложения.
Клиент — отвечает за взаимодействие с пользователем.
Реализация бизнес-логики на сервере и взаимодействие с пользователем на клиенте чётко разделены.
Преимущества клиент-серверной архитектуры очевидны; мы их все знаем:
Бизнес-логика не смешивается с пользовательским интерфейсом.
Можно реализовать несколько клиентов с разными пользовательскими интерфейсами: интерфейс командной строки, оконный Windows-интерфейс, Flash, web-интерфейс, мобильный интерфейс и т.д.
Клиентский компьютер не требователен к ресурсам;
И т.д.
Но, относятся ли web-приложения к клиент-серверной архитектуре?
Действительно, в web-приложениях есть сервер, отвечающий за бизнес логику приложения.
Но! За реализацию интерфейса отвечает не клиент, а тоже сервер. На сервере происходит обработка клиентской формы. Сервер генерирует HTML-код пользовательского интерфейса.
Клиент, т.е. браузер лишь визуализирует уже готовый HTML-код интерфейса.
Это, фактически, то же самое, что прицепить к серверу монитор и объявить этот монитор клиентом…
В настоящий момент мир вступает в эпоху расцвета богатых web-приложений.
Программы, работающие через Веб, всё больше вытесняют традиционные десктопные приложения. Gmail, Google Map, online-офис, даже web-операционные системы… Список можете продолжить сами.
Однако, по мере продвижения web-приложений, всё больше возрастают требования к основным клиентским web-технологиям: xHTML, CSS, JavaScript.
И, если эти технологии не будут поспевать за всё более возрастающими требованиями, это приведёт к их медленному закату…
Читать дальше →Существует два типа языков разметки: языки в стиле XML и языки в стиле YAML.
В XML-языках все элементы, вне зависимости от их смысла оформляются с помощью общих синтаксических конструкций.
В xHTML синтаксис:
Содержимое !!!]]>
имеют все элементы, вне зависимости от их семантики: заголовки, ссылки, списки, таблицы и т.д.
В YAML-языках каждый тип элемента имеет свой синтаксис, обусловленный семантикой этого элемента.
Например, в Wiki-разметке для задания горизонтальной линии используют ----
,
т.к. эта конструкция внешне напоминает линию;
для задания списка перед каждым пунктом ставят *
, т.к. она внешне напоминает маркер списка.
Когда я рассказываю о нашей работе над искусственным интеллектом, меня иногда спрашивают, что я думаю о моральных проблемах создания искусственного интеллекта и переноса человеческого разума на электронный носитель.
Как будет осознавать себя искусственный разум? Не будет ли у человеческого разума, перенесённого на электронный носитель, болеть «ампутированное тело»? Гуманно ли ставить негуманные опыты над искусственным интеллектом или электронными копиями реальных людей?
Так вот, я считаю, что страдания искусственного разума — полная чушь.
Читать дальше →