Line 7: |
Line 7: |
| <p> | | <p> |
| This paper provides a description of the Meta Content Framework (MCF), version 0.95.<br> | | This paper provides a description of the Meta Content Framework (MCF), version 0.95.<br> |
− | Note :
| + | Note : |
| if you are just looking for a specification of the file format, you can skip to | | if you are just looking for a specification of the file format, you can skip to |
| here. If you are just interested in creating an mcf description | | here. If you are just interested in creating an mcf description |
| of your site that visitors can fly through, you might want to start from | | of your site that visitors can fly through, you might want to start from |
− | https://web.archive.org/web/19970703020302/http://mcf.research.apple.com/hs/NXSpace.html.
| + | https://web.archive.org/web/19970703020302/http://mcf.research.apple.com/hs/NXSpace.html. |
| | | |
| <p> | | <p> |
| <h3>Goals of the MCF </h3> | | <h3>Goals of the MCF </h3> |
| | | |
− | The goal of MCF is to provide an adequate system for representing a
| + | The goal of MCF is to provide an adequate system for representing a |
| wide range of information <b> about </b>content. The content targeted includes | | wide range of information <b> about </b>content. The content targeted includes |
| web pages, gopher and ftp files, desktop files, email and structured | | web pages, gopher and ftp files, desktop files, email and structured |
Line 23: |
Line 23: |
| <p> | | <p> |
| | | |
− | The corresponding meta-content includes indices such as Yahoo!,
| + | The corresponding meta-content includes indices such as Yahoo!, |
− | web site descriptions (which includes maps of web sites together with
| + | web site descriptions (which includes maps of web sites together with |
− | other information about the pages on the web site),
| + | other information about the pages on the web site), |
| gopher and ftp directory structures, email headers, data dictionaries, etc. | | gopher and ftp directory structures, email headers, data dictionaries, etc. |
| The following diagram illustrates this. | | The following diagram illustrates this. |
Line 40: |
Line 40: |
| <h3>Foundations of the MCF </h3> | | <h3>Foundations of the MCF </h3> |
| | | |
− | The MCF has its origins in knowledge representation system such as
| + | The MCF has its origins in knowledge representation system such as |
| https://web.archive.org/web/19970703020302/http://www.cyc.com/tech.html#cycl", KRL and | | https://web.archive.org/web/19970703020302/http://www.cyc.com/tech.html#cycl", KRL and |
| https://web.archive.org/web/19970703020302/http://logic.stanford.edu/kif/kif.html and advanced database models | | https://web.archive.org/web/19970703020302/http://logic.stanford.edu/kif/kif.html and advanced database models |
Line 68: |
Line 68: |
| <br><br><br><br> | | <br><br><br><br> |
| <h3>The Focus of MCF</h3> | | <h3>The Focus of MCF</h3> |
− | Though we do need an interchange syntax, the syntax itself is distinct from MCF.
| + | Though we do need an interchange syntax, the syntax itself is distinct from MCF. |
| The same MCF content may be transcribed using different standard syntaxes (such as | | The same MCF content may be transcribed using different standard syntaxes (such as |
| SOIF, SiteMap, MARC, etc.) and MCF parsers should be able to read all these | | SOIF, SiteMap, MARC, etc.) and MCF parsers should be able to read all these |
Line 81: |
Line 81: |
| We do however describe a preferred syntax --- the MCF File Format -- that is capable of | | We do however describe a preferred syntax --- the MCF File Format -- that is capable of |
| exploiting the expressive power of MCF. | | exploiting the expressive power of MCF. |
− | The main reason for introducing yet another file format
| + | The main reason for introducing yet another file format |
− | is so that we have an interchange format that is not beholden to legacy applications
| + | is so that we have an interchange format that is not beholden to legacy applications |
− | that can track the changes in the expressiveness of MCF.
| + | that can track the changes in the expressiveness of MCF. |
| | | |
| | | |
− | What is important is the conceptual framework behind MCF and agreement on the meaning
| + | What is important is the conceptual framework behind MCF and agreement on the meaning |
− | of the actual terms used to describe the content.
| + | of the actual terms used to describe the content. |
| <p> | | <p> |
| | | |
− | The conceptual framework behind MCF --- the Meta Content Model --- is simple, yet powerful. There are a set of objects
| + | The conceptual framework behind MCF --- the Meta Content Model --- is simple, yet powerful. There are a set of objects |
− | with attributes and relations between them (technically speaking, this is a first order
| + | with attributes and relations between them (technically speaking, this is a first order |
− | model.) Some of these objects denote content objects such as web pages, desktop files, etc.
| + | model.) Some of these objects denote content objects such as web pages, desktop files, etc. |
− | Some others might denote content entities such as newsgroup threads. Yet others might
| + | Some others might denote content entities such as newsgroup threads. Yet others might |
− | denote physical objects such as people, companies, etc. Content is typically about people,
| + | denote physical objects such as people, companies, etc. Content is typically about people, |
− | companies, etc. and if there is no way of refering to these, one cannot possibly do a good
| + | companies, etc. and if there is no way of refering to these, one cannot possibly do a good |
− | job of representing information about the content.
| + | job of representing information about the content. |
− | <p>
| + | <p> |
− | Specifically, we have:
| + | Specifically, we have: |
− | <ul>
| + | <ul> |
| <li> A set of objects. E.g., | | <li> A set of objects. E.g., |
| <ul> | | <ul> |
Line 120: |
Line 120: |
| by a string (NB: wherever possible, as in the case of dates, MCF will try to use | | by a string (NB: wherever possible, as in the case of dates, MCF will try to use |
| existing standards.) | | existing standards.) |
− | <li> Another subset of these | + | <li> Another subset of these objects is called <b>Layers</b>. The layers are arranged in a total order. |
− | objects is called <b>Layers</b>. The layers are arranged in a total order.
| |
| </ul> | | </ul> |
| </ul> | | </ul> |
| | | |
− | An <it>assertion</it> (or tuple), which is the statement of a relation between a certain
| + | An <it>assertion</it> (or tuple), which is the statement of a relation between a certain |
− | set of objects or the statement has a certain property, is the basic unit.
| + | set of objects or the statement has a certain property, is the basic unit. |
− | An assertion is an n-tuple (typically a triple), consisting of a slot and an ordered list of
| + | An assertion is an n-tuple (typically a triple), consisting of a slot and an ordered list of |
− | n-1 object references and a layer. Each assertion
| + | n-1 object references and a layer. Each assertion |
− | also has a true/false value associated with it. Assertions are said to be true/false in the
| + | also has a true/false value associated with it. Assertions are said to be true/false in the |
− | layer associated with them. An assertion that is true/false in a layer
| + | layer associated with them. An assertion that is true/false in a layer |
− | is also true/false in all the superior layers, unless one of those also contains the
| + | is also true/false in all the superior layers, unless one of those also contains the |
− | assertion with a different true/false value.
| + | assertion with a different true/false value. |
| <p> | | <p> |
− | Since the layers themselves are units, the relation between the layers themselves
| + | Since the layers themselves are units, the relation between the layers themselves |
− | is expressed as assertions. These assertions are in the BaseLayer, a special layer
| + | is expressed as assertions. These assertions are in the BaseLayer, a special layer |
− | that is at the bottom of the total order.
| + | that is at the bottom of the total order. |
| <p> | | <p> |
− | A chunk of MCF (in whichever syntax) is typically a set of assertions. In the preferred
| + | A chunk of MCF (in whichever syntax) is typically a set of assertions. In the preferred |
− | syntax (the MCF File Format), the assertions are grouped together based on their
| + | syntax (the MCF File Format), the assertions are grouped together based on their |
− | first argument and all the assertions in a file are assumed to be in the same layer.
| + | first argument and all the assertions in a file are assumed to be in the same layer. |
− | <p>
| + | <p> |
− | It is important to note that predicates/relations themselves are objects. This allows
| + | It is important to note that predicates/relations themselves are objects. This allows |
− | us to extend the vocabulary within MCF itself. This is both a blessing and a curse.
| + | us to extend the vocabulary within MCF itself. This is both a blessing and a curse. |
− | It obviously makes it very easy to extend MCF for many different purposes.
| + | It obviously makes it very easy to extend MCF for many different purposes. |
− | Applications which dont' recognize the semantics of a new predicate can simply ignore it.
| + | Applications which dont' recognize the semantics of a new predicate can simply ignore it. |
− | The downside is of course that different authors of MCF can extend in potentially incompatible
| + | The downside is of course that different authors of MCF can extend in potentially incompatible |
− | ways. To alleviate this problem, we propose some
| + | ways. To alleviate this problem, we propose some |
− | https://web.archive.org/web/19970703020302/http://mcf.research.apple.com/hs/vocab.html basic terms that
| + | https://web.archive.org/web/19970703020302/http://mcf.research.apple.com/hs/vocab.html basic terms that |
− | can be used to describe web hierarchies such as Yahoo! </p>
| + | can be used to describe web hierarchies such as Yahoo! </p> |
| | | |
− | In the next section, we describe the MCF File Format, a preferred format for
| + | In the next section, we describe the MCF File Format, a preferred format for |
− | representing MCF.
| + | representing MCF. |
| | | |
| | | |
Line 160: |
Line 159: |
| <h3> The MCF File Format </h3> | | <h3> The MCF File Format </h3> |
| | | |
− | MCF files contain descriptions of meta-content objects also referred to as "units".
| + | MCF files contain descriptions of meta-content objects also referred to as "units". |
− | A unit consists of the following.
| + | A unit consists of the following. |
| <ul> | | <ul> |
| <li> a unit identifier. | | <li> a unit identifier. |
Line 184: |
Line 183: |
| </ul> | | </ul> |
| | | |
− | MCF is an interchange format and does not make any assumptions about how information
| + | MCF is an interchange format and does not make any assumptions about how information |
| in this format is used by applications. | | in this format is used by applications. |
| | | |
| <h4>MCF Files and Units</h4> | | <h4>MCF Files and Units</h4> |
| | | |
− | Conceptually, the Web is a large graph where the pages are the nodes
| + | Conceptually, the Web is a large graph where the pages are the nodes |
− | and hyperlinks are arcs between these nodes. Similarly, MCF defines a graph
| + | and hyperlinks are arcs between these nodes. Similarly, MCF defines a graph |
− | where units are the nodes and relations between units are the arcs. Since
| + | where units are the nodes and relations between units are the arcs. Since |
− | we have many slots, we get a much richer space with labelled arcs.
| + | we have many slots, we get a much richer space with labelled arcs. |
− | The most general relations correspond to the notion of a directed arc
| + | The most general relations correspond to the notion of a directed arc |
− | and are represented by the predicate <b>parent</b> and its inverse <b>child</b>.
| + | and are represented by the predicate <b>parent</b> and its inverse <b>child</b>. |
| | | |
| <p> | | <p> |
− | Each mcf file defines a sub-graph (typically a sub-hierarchy.)
| + | Each mcf file defines a sub-graph (typically a sub-hierarchy.) |
− | The file itself corresponds to a unit. The file may define one or more layers of
| + | The file itself corresponds to a unit. The file may define one or more layers of |
− | the hierarchy under it.<p>
| + | the hierarchy under it.<p> |
| | | |
| If an object in a certain mcf file does not explicitly specify a parent, the parent | | If an object in a certain mcf file does not explicitly specify a parent, the parent |
Line 257: |
Line 256: |
| file they are defined in, the identifier also needs to specify the location of | | file they are defined in, the identifier also needs to specify the location of |
| the definition. In this case, you can use segmented identifiers | | the definition. In this case, you can use segmented identifiers |
− | (with segments separated by the character '#' : such as
| + | (with segments separated by the character '#' : such as |
| "http://www.foo.com/another-taxonomy.mcf#baz") where the entire string | | "http://www.foo.com/another-taxonomy.mcf#baz") where the entire string |
| is the identifier of an object that is defined in the file | | is the identifier of an object that is defined in the file |
Line 266: |
Line 265: |
| <h4> Slots </h4> | | <h4> Slots </h4> |
| | | |
− | Slot names are restricted to non-white space characters. A list of slot
| + | Slot names are restricted to non-white space characters. A list of slot |
| values is semantically equivalent to a set. So, the order of values and the | | values is semantically equivalent to a set. So, the order of values and the |
| number of times a value occurs does not carry any significance. <p> | | number of times a value occurs does not carry any significance. <p> |
Line 288: |
Line 287: |
| | | |
| A longer term, better solution for object references is described | | A longer term, better solution for object references is described |
− | here.
| + | here. |
| | | |
| | | |
Line 302: |
Line 301: |
| <h4> Headers </h4> | | <h4> Headers </h4> |
| | | |
− | Headers are similar to meta-content object descriptions in that they are a
| + | Headers are similar to meta-content object descriptions in that they are a |
| sequence of slots and values. Headers really provide meta-meta-content. | | sequence of slots and values. Headers really provide meta-meta-content. |
| | | |
Line 324: |
Line 323: |
| an end-headers: token is assumed. | | an end-headers: token is assumed. |
| | | |
− | Any characters appearing before a begin-headers: token or unit: token are ignored. <p><br>
| + | Any characters appearing before a begin-headers: token or unit: token are ignored. <p><br> |
| | | |
| | | |
Line 336: |
Line 335: |
| is assumed to exist) though it would be highly desirable | | is assumed to exist) though it would be highly desirable |
| to use the standard slots whereever possible. Please see | | to use the standard slots whereever possible. Please see |
− | https://web.archive.org/web/19970703020302/http://mcf.research.apple.com/hs/vocab.html here for a growing list
| + | https://web.archive.org/web/19970703020302/http://mcf.research.apple.com/hs/vocab.html here for a growing list |
| of standard vocabulary. If you need a predicate of category not in this list, please | | of standard vocabulary. If you need a predicate of category not in this list, please |
| write to us suggesting additions. | | write to us suggesting additions. |