Meta Content Framework

Meta Content Framework (MCF) is a specification of a content format for structuring metadata about web sites and other data.

History

MCF was developed by Ramanathan V. Guha at Apple Computer's Advanced Technology Group between 1995 and 1997. Rooted in knowledge-representation systems such as CycL, KRL, and KIF, it sought to describe objects, their attributes, and the relationships between them.[1]

One application of MCF was HotSauce, also developed by Guha while at Apple. It generated a 3D visualization of a web site's table of contents, based on MCF descriptions. By late 1996, a few hundred sites were creating MCF files and Apple HotSauce allowed users to browse these MCF representations in 3D.[1]

When the research project was discontinued, Guha left Apple for Netscape, where, in collaboration with Tim Bray, he adapted MCF to use XML[2][3] and created the first version of the Resource Description Framework (RDF).[4]

MCF format

An MCF file consists of one or more blocks, each corresponding to an entity. A block looks like this:

Node: <identifier>
<property>: <value>, <value>

The identifier is a unique identifier for that entity (more on the scope of the identifier below) and is used to refer to that entity. The following lines each specify a property and one or more values, separated by commas. Each value can be a reference to another entity (via its identifier), a string (enclosed by double quotes) or a number. For example:

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"

NOTE:

  • The identifier must not include a comma (,) and must not be enclosed within double quotes.
  • A common parsing failure is due to odd number of unescaped double quotes in text. For instance, "foo bar" baz" needs to be "foo bar\" baz".
  • Commas within double quotes are not considered as value separators.
  • Every entity has at least one property: typeOf.

References

  1. ^ a b Hammersley, Ben (2003). Content Syndication with RSS. Sebastopol: O'Reilly. p. 2. ISBN 978-0-596-00383-8.
  2. ^ Guha, R V; Tim Bray (1997-06-06). Meta Content Framework Using XML. W3C. Retrieved 2014-09-14.
  3. ^ Guha, R.V.; Bray, Tim (1997-06-13). "Meta Content Framework Using XML". Netscape. Archived from the original on June 15, 1997. Retrieved 2015-12-12.
  4. ^ Andreessen, Marc (1999-01-08). "Innovators of the Net: R.V. Guha and RDF". Netscape. Archived from the original on February 5, 2008. Retrieved 2014-09-14.