Метаконтент Framework

Метаконтент Framework (англ. Meta Content Framework, MCF) — это спецификация формата данных для структурирования метаданных о веб-сайтах и других данных.

История

Метаконтент Framework был разработан Раманатаном В. Гуха в Advanced Technology Group компании Apple в период с 1995 по 1997 год. Основанный на системах представления знаний таких как CycL, KRL и KIF, он предназначался для описания объектов, их атрибутов и отношений между ними[1].

Одним из приложений Метаконтент Framework стала программа HotSauce, также разработанная Гуха во время работы в Apple. Она позволяла создавать трёхмерные визуализации оглавления сайта на основе описаний в формате MCF. К концу 1996 года несколько сотен сайтов создавали файлы MCF, а программа Apple HotSauce позволяла пользователям просматривать эти представления в 3D[1].

После завершения проекта Гуха покинул Apple и перешёл в Netscape, где вместе с Тимом Бреем адаптировал MCF для использования с XML[2][3] и создал первую версию Фреймворка описания ресурсов (RDF)[4].

Формат MCF

Файл MCF состоит из одного или нескольких блоков, каждый из которых соответствует сущности. Блок имеет следующий вид:

Node: <идентификатор>
<свойство>: <значение>, <значение>

Идентификатор — это уникальное обозначение данной сущности (см. ниже о пределах видимости идентификатора), используемое для ссылки на эту сущность. Последующие строки указывают свойства и одно или несколько значений, разделённых запятыми. Каждое значение может быть ссылкой на другую сущность (по её идентификатору), строкой (в двойных кавычках) или числом. Пример:

Node: Test1
typeOf: TestNode
child: Test2, Test3
name: "I am a test node"
itemCode: 42

Node: Test2
typeOf: TestNode
sibling: Test3
name: "I am another test node in a test world"

Node: Test3
typeOf: TestNode
sibling: Test2
name: "Just another test node in a test world"

Примечания:

  • Идентификатор не должен содержать запятую (,) и не должен быть заключён в двойные кавычки.
  • Частая ошибка при разборе — нечётное количество неэкранированных двойных кавычек в тексте. Например, "foo bar" baz" должно быть записано как "foo bar\" baz".
  • Запятые внутри двойных кавычек не считаются разделителями значений.
  • Каждая сущность должна иметь как минимум одно свойство: typeOf.

Примечания

  1. 1 2 Hammersley, Ben. Content Syndication with RSS : [англ.]. — Sebastopol : O'Reilly, 2003. — P. 2. — ISBN 978-0-596-00383-8.
  2. Guha, R V Meta Content Framework Using XML (англ.). W3C (6 июня 1997). Дата обращения: 14 сентября 2014.
  3. Guha, R.V.; Bray, Tim Meta Content Framework Using XML (англ.). Netscape (13 июня 1997). Дата обращения: 12 декабря 2015. Архивировано 15 июня 1997 года.
  4. Andreessen, Marc Innovators of the Net: R.V. Guha and RDF (англ.). Netscape (8 января 1999). Дата обращения: 14 сентября 2014. Архивировано 5 февраля 2008 года.

Литература

Ссылки