close

  
<div><body><p>

Metaschema is an effort to describe properties (or paths formed through the use of multiple properties) in terms of more general relationships.</p><p></p>

For instance, Freebase provides the property /film/director/film that identifies what film's a Film Director has directed.  But more generally a Film Director can be viewed as having "ContibutedTo" the film. In simple cases like this, Metaschema is similar in concept to "super-properties" used in other semantic systems.  But Metaschema predicates can also represent the higher-order relationships that span multiple properties.  For instance, while the a Film Actor's relationship to a Film is mediated by a Film Performance object, Metaschema recognizes that the path from an Actor using the property /film/actor/film to a Film Performance and the property /film/performance/film to a Film represents another form of "ContributedTo," similar to that of the director.<p></p>

<img src="metaschema-map-schema.gif" width="400" align="right"><p></p>

These higher-order relationships are viewed as directional.  Just as a film director "ContributedTo" a film, a film "HasContributors" which include the director, actors and other crew members.  However, some higher-order relationships are viewed as reflexive, meaning the relationship is the same in both directions as in peer like relationships.  Tony Scott is the brother of Ridley Scott and are each a "PeerOf" the other.<p></p>

Currently over 3500 properties in Freebase have been mapped to <a href="http://www.freebase.com/view/base/fbontology/semantic_relationship">46 higher-order Metaschema patterns.</a>  The relationships between Freebase Properties and Metaschema patterns are documented as data in Freebase itself at <a href="http://fbontology.freebase.com" target="x">fbontology.freebase.com</a>.  The diagram on the right illustrates the form of the data model.<p></p>



Using this model you can ask whether there is a Metaschema description for a specific propety using a query of the form:

<pre>
[{
  "name": null,
  "type": "/base/fbontology/semantic_predicate",
  "paths": {
    "properties": "/film/director/film"
  }
}]
</pre>

Try it <a href="http://tinyurl.com/6bszkqf" target="x">here!</a><p></p>

Note that because a property could participate in one or more multi-property path a more prudent query would be:

<pre>
[{
  "name": null,
  "type": "/base/fbontology/semantic_predicate",
  "paths": {
    "a:properties": "/film/actor/film",
    "b:properties":[{"id":null}]
  }
}]
</pre>

Try it <a href="http://tinyurl.com/4tttk76" target="x">here!</a><p></p>

Which indicates that there are two paths which start with the property /film/actor/film - one representing the path for the actors ContributionTo films, the other which represents characters the actor has "Portrayed."</body></div>

Comments

Hide