A question has come up a couple times now of how you would find the included types of a type; for example, many types contain either (or both) the Topic or Person types. It can get more complicated though, as in the case of user-created types, and it’s possible that when constructing a MQL query, you might want to use values for properties in the included types as well as the main type.
What makes it tricky to find included types is that there is no property within the type itself that contains the information you need. Instead, you have to take advantage of a a property that is used by the Freebase client to display type information. These client properties are all properties of /type/property and can be queried in the same way as other properties of a property. These are bare properties; the type is not asserted on the property. Client properties include:
- /freebase/documented_object/tip: Adding documentation to a property (ect: /type/text)
- /freebase/property_hints/display_none: True if the property is hidden
- /freebase/property_hints/disambiguator: True if the property will operate as a disambiguator
- /freebase/property_hints/display_orientation: vertical if the property should be displayed as such, horizontal otherwise
- /freebase/type_hints/included_types: lists types included with another type
For this particular query, use the /freebase/type_hints/included_types property, as shown in the following query:
{
"/freebase/type_hints/included_types" : [
{}
],
"id" : "/music/artist"
}
This example is from the Schema Introspection Cookbook, where you can find more MQL recipes for finding out information about types, properties, and schema.More information about /type/property and its properties can be found in Chapter 2 of the Complete MQL Reference Guide, “Metaweb Architecture.”
