Question

I'm trying to find freebase co-types, that is, given a type you find 'compatible' types:

Suppose to start with /people/person, it might be a musician (/music/group_member), but not a music album (/music/album), i don't know if in freebase is there something like owl 'disjointWith' between types, anyway in the MQL cookbook they suggest to use this trick.

The query in the example get all instances of a given type, then get all types of all instances and let them to be unique...this is clever, but the query goes in timeout... is there another way? for me it's ok even a static list/result, i don't need the live query...i think the result would be the same...

EDIT: Incompatible types type seems to be useful and similar to disjointWith, may also be used with the suggest...

Thanks! luca

Was it helpful?

Solution

As Tom mentioned, there are some thresholds that you might want to consider to filter out some of the less notable or experimental types that users have created in Freebase.

To give you an idea of what the data looks like I've run the query for all co-types for /people/person.

  1. /common/topic (100.00%)
  2. /book/author (23.88%)
  3. /people/deceased_person (18.68%)
  4. /sports/pro_athlete (12.49%)
  5. /film/actor (9.72%)
  6. /music/artist (7.60%)
  7. /music/group_member (4.98%)
  8. /soccer/football_player (4.53%)
  9. /government/politician (3.92%)
  10. /olympics/olympic_athlete (2.91%)

See the full list here.

You can also experiment with Freebase Co-Types using this app that I built (although it is prone to the same timeouts that you experienced).

OTHER TIPS

Freebase doesn't have the concept of disjointWith at the graph or schema level. The Incompatible Types base that you found is a manually curated version of that which may be used in a future version of the UI, but isn't today.

If you want to find all co-types, as they exist in the graph today, you can do that using the query you mentioned, but you're probably better off using the data dumps. I'd also consider establishing a frequency threshold to eliminate low frequency co-types so that you filter out mistakes and other noise.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top