[Developers] "link" and the "operation"

Alec Flett alecf at metaweb.com
Thu Jan 17 00:18:04 UTC 2008


On Jan 16, 2008, at 3:43 PM, Christopher Dummy wrote:

> I couldn't find any documentation on /type/link which is used for  
> properties. I'm trying to understand what some of the values can be  
> and what they mean.
>

This doesn't necessarily help a huge amount, but you can look at the  
schema for "link":

http://www.freebase.com/view/schema/type/link


Here's the short documentation which I'll try to get into a help topic:

type: I believe this will always be "/type/link"

timestamp: the time the link was created

creator: points to the user (i.e. /user/alecf) who created it

master_property: the property that this link represents (like /film/ 
film/cast)

reverse: whether or not the master_property is pointing to or away  
from the item

operation: "insert" means it is a normal link, that doesn't supercede  
any other value. "update" means that it is a normal link that  
"overwrote" a previous link. "delete" means the link actually  
represents the deletion of a different link. Since freebase's database  
is append-only, the way to "delete" a link is to overwrite it with a  
"tombstone" link - that's what "delete" is

valid: a boolean indicating if this current link is active - i.e.  
wasn't deleted by another link.. and so yeah you're right that a  
"delete" link isn't really valid or not, since it is really making a  
different link "invalid"

attribution: a more complex subject - basically this may point to a  
user or a node which describes some sort of attribution, such as what  
datasource a particular link came from... (i.e. if someone asserted  
that "the population of china is 1 billion people" according to the  
CIA World Fact Book) this isn't really used right now.

I hope this gets you started. The master_property/reverse stuff can be  
a little confusing at times.. my advice there is just to play around  
with it to understand how it works until we have more extensive  
documentation.

Alec

>         {
>           "guid": "#9202a8c04000641f8000000000014a39",
>           "link": {
>             "timestamp": "2008-01-16T22:08:24.0000Z",
>             "operation": "insert",
>             "valid": false
>           },
>           "name": "Electronic music"
>         },
>         {
>           "guid": "#9202a8c04000641f8000000000014a39",
>           "link": {
>             "timestamp": "2008-01-16T22:11: 12.0000Z",
>             "operation": "delete",
>             "valid": null
>           },
>           "name": "Electronic music"
>         }
>
> I assume the "valid" refers to whether the link is valid or not. the  
> UI will display just the valid links. For that reason, "delete"  
> doesn't have a true or false value since it doesn't represent a  
> link. Is that correct?
>
> I've seen the operations  "insert", "update", "delete".
>
> Are there any other operations that can happen? Is there a time when  
> the "delete" operation might have something other than a null for  
> valid?
>
> -- 
> Christopher Cotton
> Zing/Dell Engineer
> http://zing.net/ _______________________________________________
> Developers mailing list
> Developers at freebase.com
> http://lists.freebase.com/mailman/listinfo/developers

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freebase.com/pipermail/developers/attachments/20080116/6b5100fa/attachment.htm 


More information about the Developers mailing list