Jump to content

Meta Content Framework

From Wikipedia, the free encyclopedia

This is the current revision of this page, as edited by William.Apollo (talk | contribs) at 01:20, 26 November 2022 (Add MCF format overview). The present address (URL) is a permanent link to this version.

(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

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

History

[edit]

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

[edit]

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

[edit]
  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.
[edit]