Discussions on Guide to Freebase Types
Start a New Discussion
-
-
Is it possible to query included types using MQL?
The extends property of type does not seem to be the same...
Thanks
Juan
-
Juan, I'm looking into this and trying to find an answer, sorry it's taken so long so far. I hope to have this figured out by the end of the week.
-
The property you want is /freebase/type_hints/included_types. The Explore view is invaluable for questions like this; I explored the Musical Group type, and that is the property that connects it with Musical Artist and with Topic.
-
I found the property in Explore, but my MQL queries for the value don't work. Can you help with the MQL query itself?
-
So here's the MQL:
{
"/freebase/type_hints/included_types" : [
{}
],
"id" : "/music/artist"
}Very simple, I just attempted to do it in an overly-complicated way.
-
@philg is there a way to get the set of all included_types? Or at least find all types which have X has an included type (i.e. which types are also People or Locations?)
See also http://www.freebase.com/view/guid/9202a8c04000641f800000000c64f495
-
Put the type you want to find as the included type inside /freebase/type_hints/included_types, e.g.
[{
"id": null,
"type":"/type/type",
"/freebase/type_hints/included_types": {
"id": "/people/person"
}
}] -
To get the full set, rather than just those that include a specific type, use the following
[{
"id": null,
"type":"/type/type",
"/freebase/type_hints/included_types": [{"id":null,"optional":true}]
}]you'll need to increase the limit to get more than the first 100 and it may time out if you ask for them all, so then you'll need to use cursors or paging to get them all.
-
Sweet, thanks, I'll give that a try!
-
-
-
I'm working with a researcher looking to include full genes within freebase (can be thousands of characters). Is this possible?
-
You should join the data-modeling list...I think you will get better guidance there.
-
Also found here.
-
They're doing something similar for geographic shape data, by attaching a document and linking to it. You could do that. Freebase user "jamie" is the expert on the geo stuff.
-
-
-
-
I expect that the following example would best be modeled as a supporting type and would like to get some feedback. I would like to use Freebase to summarize and store somewhat complex conditional values. For example, I would like to create a topic that holds the following information: In publication 1 there were 5 eggs of species 1 in habitat type 1 but in that same publication there were 4 eggs for species 2 in habitat type 2.
Currently I can model these 2 topics (i.e. pub 1, species 1, eggs 5, habtype 1 vs. pub 1, species 2, eggs 4, habtype 2) through a standard type with little problem. Data entry for relatively redundant topics will be relatively slow going until cloning is available but it is possible. It seems to me that a supporting type should probably be used to maintain these entries. Correct? I sure as heck don't want them coming up in the UI because they are too complex among other reasons.
This brings up the following question: Why should I give it these kinds of topics a name? If the names aren't used in the UI then it is just a system identifier. A time stamp would work just as well. Also, I probably won't know a good name for these topics until I enter their attributes. Maybe a name could automatically be created and then updated as a concatenation of topic properties? Either way, naming the topics for this kind of supporting type will often be pointless and a waste of time. Is it possible for a new feature to allow the checking of a box for automatic generation of names for a supporting type?
-
I don't think supporting types will help you out here, but I could be wrong. If I understand the problem (which I might not), I think it could be solved by using a CVT. I.e., you have a property ("egg information", say) with an expected type that is a CVT. The CVT would have properties for # of eggs, species, and habitat type (all of which should be marked as disambiguators). That way, you can enter both "species 1, eggs 5, habtype 1" and "species 2, eggs 4, habtype 2" as property values on the same topic. This also removes the problem of having to name the topics, since as you point out, there's no sensible name for ones like these.
-
Thanks Jeff. You're probably right about CVT as a more logical approach. I'll try it on and see if it fits.
-
-
-
How do you set the finite set of options for an enumerated type? The format doesn't look any different than a standard type.
-
An enumerated type just means it'll pick up items from a given type and won't let the user add to the list. "Gender" on "Person" is an example: you get a choice of Male/Female but can't add in a new one as you can with many other FB fields. So if you wanted a shortened list, you'd have to use (or make) a more specific type.
-
Thanks. I found out through trial and error that the list items are added as topics to the type. This was not intuitive to me and I was not able to find documentation on it. My original conception was that the list items were added as part of the schema. I like how it works but maybe it needs a little better or easier to find documentation on the actual steps of defining the set.
-
-
-
Thanks - that did exactly what I was trying to do.
-
fyi, we're trying to move away from the use of the word 'mediator' and just use 'compound value type' -- in the hopes that people will be less confused. To get technical, a mediator is a compound value type that connects two or more types -- whereas you can also have a terminal compound value type that connects a type to a collection of literal values... but this distinction is something that likely will only confuse people more... thus, we like to just call 'em CVTs.
-
-
-
I'm trying to set up a mediator - and it seems to be part of the functionality of compound types, or am I just getting confused here.
I'd like to set up a type to hold the relationship between two adjoining rail stations, much like the Adjoining Relationship used by the Adjoins property of a Location, except I want to speciy the Rail Line that links the two stations as well.
I can work out how to create the type, but in order to link two stations I have to go into the mediator type and add the second one in manually. Is there a way to easily create the reciproated link so that when I am in station1 and add station2 as an Adjacent Station station1 will appear in the Adjacent Station list for station2 as well?
Thanks.-
The simplest way to do this is with the "suggested properties" feature on the type definition page.
For example, you could create the "Station" type, then the "Adjoining Relationship" type. Then add an "adjoins" property to Station with an expected type of Adjoining Relationship. Now click through to the Adjoining Relationship type definition page. There should be a property under "Suggested Properties" whose expected type is Station. Double click it to give it a name, and your reciprocal property should be all set.
-
-
-
When I first started using Compound Value Types, some 4 weeks ago, they were handled by Freebase as described above. I.e.(1) you would be prompted for as many properties as they were declared to have when you wanted to create a new one, and (2) they didn't have a user-supplied display name. Unless I'm doing something different now, both aspects seem to have changed. When I now want to create a new one, Freebase prompts me for only one entry, rather than one per property. This is then taken as the display name (rather than the obscure GUID used previously). You can then provide values for the n properties for one instance of this CVT, and indeed edit its display name, just as you can for any topic.
Am I indeed right in thinking that there has been a change in the way CVTs are handled, or am I just doing something different? If the former, then this should be reflected in the documentation.
-
-
-
By your own admission, " Setting up a compound value type is currently a bit complicated. " Yet you only give three steps for creating a compound value type, the third of which is not actually a step at all. Could we please have a fully-detailed listing of the steps involved, perhaps using the 'Performance' compound value type as an example.
-
Robert, you make some good points. I've made some quick edits to this content, which I hope will help. This posting on the developer blog is also an important read. We'll continue to improve our help content. Thanks for the note.
-
Thanks, Dan, for expanding so quickly the description of the steps to follow. I have now succeeded in setting up a Compound Value Type.
I have documented in even more detail the steps I followed for my own requirement, in the Description for robertm's Type 'Variable with Units'. This is for my own future reference, but may be of value to others starting off.
-
Although they appear in Type Editor, the suggested properties shouldn't have any impact when viewing topics of that type unless you reciprocate them by naming them - you can ignore them and they won't appear when viewing topics of that type. To answer your question about the order, they are displayed in reverse timestamp order - so the most recently added incoming links appear at the top.
-
-
-
I've just been invited to Freebase and I am very impressed by the power of the system. I would be interested in creating some types, but not if they have to remain in my personal domain. Of course, I would agree to begin to create them in this personal domain, but I am wondering whether it will be possible to transfer my best types into a public domain ? Creating types can take a lot of time, so I prefer to know it will really be useful to the community before beginning this adventure.
Thank you very much in advance for your answers.-
Hi Jean-Baptiste, and welcome!
It's definitely possible for private types to be promoted into the public type space - in fact, we're counting on it. :)
Once you've modeled your types, it's good idea to add some sample data as well - you often don't find the flaws in your data model until you try adding some real data. If you're planning on a large data load, you should let us know in advance so we can walk you through it. And it's always good to try things out on sandbox - it's wiped clean and re-initialized from the main site every Monday, so you always have the chance to start fresh.
Once you're happy with the types you've created, you should post a note in the discussion area of the domain you're interested in so the admins can take a look at your work (if the types you've made should go into a new domain, you can just post to a domain that's related to the one you're working on).
Feel free to post to related discussions if any questions come up about your model. Good luck - and have fun!
-
-
-
Is the also known as property intended to be a description of the type, or a synonym, or a link to another type which is also a synonym ?
-
Both types and topics have an "also known as". This property expects simple text meant for synonyms or alternative names, for the purpose of searching and autocomplete completion. For example, the topic for the band "The Police" is also known simply as "Police" or sometimes "Sting and the Police", so those are added for "also known as" for that topic. A good example for a type that has an "also known as" property is the Film type, which has the alias of "Movie".
-
-
-
In user domain. Is this possible now? There seems to be a link called remove, but it doesn't do anything.
-
Yes it is a bit confusing. The "Remove" menu item for the type on the user page has the same behavior as "Edit". The schema editor is displayed. To remove a type select "Delete this type" from the menu on the title of the schema page.
For instance, if you want to delete your date_of_death type, navigate to,
http://www.freebase.com/view/schema?id=%2Fuser%2Fcohesion%2Fdefault_domain%2Fdate_of_death
Click the affordance to the right of the title Date Of Death.
Select "Delete this type"
Click Ok on the popup confirmation dialog box.
-
-
-
hi.
not really clear how to add additional properties to a new type? I wanted to add such things as headquarters, address, associated sport, to the type called "governing body" that I created to link sports bodies like FIFA, IAAF, etc... would also like to figur eout how to then individual country level sports associations as members of those governing bodies ...
my limited programming skills have hit a wall...
help!
Ken-
what are you getting stuck on? Is the system not working properly when you select 'add new property'? Is it confusing when you have to select an expected type? Have you watched the demo videos available in the help section?
-
Ken, you can edit the type and add new properties there. Note that while you can view any type via edit, you can only actually make changes to types that you administer. For most users, this means private types that they have created. So if you have created a type called "governing body" than you can edit it. Let us know if you are unable to get to this stage.
If it's a type that you don't own, then you can go to the discussion area for the type and propose changes.
-
-
-
-
In my personal domain I created new types "Teacher" and "Student" that reference each other. I then updated Nadia Boulanger's types to include Teacher. As expected, she now has a Student(s) property. When I attempted to add Aaron Copeland as one of Nadia's students, the "Save" button never activated. Something I'm doing wrong?
-
-
-
So, if a Team type exists, and I'd like to create a Baseball Team Type, it'd be nice to have a link here to a Help topic explaining the best process for doing that.
For reference, see http://blog.jonudell.net/2007/03/26/like-a-moth-to-the-freebase-flame/#comment-2451
A few comments after my post, dehfne mentions one Type can include another, I'm not sure how to do that (perhaps it's an obvious part of the "Create a new Type workflow", but since I haven't yet jumped into that pond I don't know that yet).-
You can include Team type in your Baseball Team Type by editing Baseball Team in the Schema Editor (choose Edit Type from the menu to get there):
Look under the name of the type at the top of the page to add "Included types". You should see instructions in gray that says, "add a parent type to include the properties of another type in all Baseball team topics." Double click on that and enter "Team", which should autocomplete. Hit enter and all the properties of Team should show up. -
It turns out I wasn't able to follow this suggestion, I filed this ticket: http://www.freebase.com/view?id=%239202a8c04000641f800000000454e729
I'm used to using bugzilla, in bugzilla that ticket would get an "assigned" status once someone looked at it, is there anything analogous for freebase tickets?
-
-