Meta Content Framework (MCF) is a specification of a
content format
Content or contents may refer to:
Media
* Content (media), information or experience provided to audience or end-users by publishers or media producers
** Content industry, an umbrella term that encompasses companies owning and providing mass ...
for structuring
metadata
Metadata (or metainformation) is "data that provides information about other data", but not the content of the data itself, such as the text of a message or the image itself. There are many distinct types of metadata, including:
* Descriptive ...
about
web site
A website (also written as a web site) is any web page whose content is identified by a common domain name and is published on at least one web server. Websites are typically dedicated to a particular topic or purpose, such as news, education, ...
s and other
data
Data ( , ) are a collection of discrete or continuous values that convey information, describing the quantity, quality, fact, statistics, other basic units of meaning, or simply sequences of symbols that may be further interpreted for ...
.
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
CycL in computer science and artificial intelligence, is an ontology language used by Douglas Lenat's Cyc artificial intelligence project. Ramanathan V. Guha was instrumental in designing early versions of the language. A close CycL variant exi ...
,
KRL, and
KIF, it sought to describe objects, their attributes, and the relationships between them.
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.
When the research project was discontinued, Guha left Apple for
Netscape
Netscape Communications Corporation (originally Mosaic Communications Corporation) was an American independent computer services company with headquarters in Mountain View, California, and then Dulles, Virginia. Its Netscape web browser was o ...
, where, in collaboration with
Tim Bray
Timothy William Bray (born June 21, 1955) is a Canadian software developer, environmentalist, political activist and one of the co-authors of the original XML specification. He worked for Amazon Web Services from December 2014 until May 2020 w ...
, he adapted MCF to use
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing data. It defines a set of rules for encoding electronic document, documents in a format that is both human-readable and Machine-r ...
and created the first version of the
Resource Description Framework
The Resource Description Framework (RDF) is a method to describe and exchange graph data. It was originally designed as a data model for metadata by the World Wide Web Consortium (W3C). It provides a variety of syntax notations and formats, of whi ...
(RDF).
MCF format
An MCF file consists of one or more blocks, each corresponding to an entity. A block looks like this:
Node:
: ,
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
External links
MCF Tutorial(using XML syntax)
Guha MCF site
Knowledge representation
Apple Inc. software
{{compu-AI-stub