[Data-modeling] Inheritance, subsumption and co-typing
John Giannandrea
jg at metaweb.com
Mon Jun 9 19:26:17 UTC 2008
John Bäckstrand wrote:
> I see references to "co-typing" from time to time, I assume this
> means the "include type" functionality. What I can see, this is a
> "hint" and we are free to remove any types from the "parent", but
> the link is still there in the form of /freebase/type_hints/
> included_types.
These is no automatic inference of types, all the data has to be
asserted.
Any Topic can have more than one explicit type. So, for example
http://www.freebase.com/view/en/garry_kasparov
Is a /people/person, an /award/award_winner and a /chess/chess_player
All of these are explicit assertions, of /type/object/type
The 'included type' functionality is a hint to the freebase UI that if
you are entering a new chess player it should be cotyped as a person.
This inclusion is what we call a UI hint, it makes data entry faster
and easier.
So why dont we support strict type inheritance? Well because real
world data is messy.
For example not every chess player is a person: http://www.freebase.com/view/en/deep_blue
> On the other hand I also see properties with the name
> "Specialization of", see /people/profession for an example.
This is what we call a phylogeny pattern. We want arbitrary linkage
of 'more specific' and 'less specific'.
For example: http://www.freebase.com/view/en/tenor is a
specialization of http://www.freebase.com/view/en/singer
These are professions, not types. At some point the http://www.freebase.com/view/opera
domain might be more
useful in explicitly modeling Tenors, but the general pattern for all
professions still holds.
-jg
More information about the Data-modeling
mailing list