[Developers] Lifecycle events? (was: Re: Too Many Writes Error)
Tom Gordon
tomgordon at mac.com
Sat Sep 8 00:14:36 UTC 2007
This is an interesting topic, because I also plan to keep additional
metadata about objects.
My main question is this: is there any plan to expose "lifecycle"
events? I'm fairly sure at this point that I will be storing my own
metadata and cached objects. It would be nice if I could listen to
create/delete/merge/split/update events for domains I'm interested
in. Otherwise anomalies will creep into my application. I can work
around it by tuning the cache parameters and trying various tricks,
but consuming change notifications would be more interesting to me.
If there are no plans to implement this then I'll need to start
considering that in my design.
Michael brought up an interesting idea - if I *could* store private
metadata in freebase itself, I might consider that. I doubt it
though since my metadata relies on heavy server-side processing and
lots of updates. My browsers need to talk to my server anyway so
I'll probably proxy-and-cache for the actual items.
Thanks,
Tom Gordon
On Sep 7, 2007, at 7:32 PM, Scott Meyer wrote:
> Michael Jones wrote:
>
>> It's only about 3-400 records, but I am testing an upload script, and
>> ran it about 15-20 times yesterday, refreshing exisitng objects. It
>> doesn't seem like this should have triggered the limit, but it's
>> possible. Is there a reason the limit is on total writes and not on
>> instance creations?
>
> Because it is hard to make that distinction. The concern is DOS,
> either intentional or because of a broken script.
>
>>> External applications will often have need of grafting their own
>> types
>>> onto Freebase instances in order to flag them or add meta data that
>>> would not be of interest to the general public browsing Freebase.
>>
>> Currently, any user can create a type and use it to type existing
>> objects. In fact, we would much rather you do that, than create
>> duplicate objects. Is that what you want?
>>
>>
>> That is exactly what I want, and I am doing now for a Fantasy
>> Football
>> Draft simulator I'm building.
>>
>> I have grafted the type '/user/szaijan/fantasy_football/player' to
>> all
>> of the instances of type '/american_football/football_player' that I
>> have data on. I've also created types and instances for the objects
>> that will support the application (League, Owner, Team, et. al.) In
>> addition, I have created Projection objects, which hold my
>> estimate of a
>> player's performance and average fantasy draft position over the
>> course
>> of a given season. My app will essentially predict each selection
>> of a
>> fantasy draft based on the point projections and average draft
>> position,
>> then rank the teams. A lot of meta data is used in the sorting, and
>> several enumerated types required near duplicates of types already in
>> the database.
>>
>> Ideally, I'd like to make sure no one who isn't running my app can
>> see,
>> change, or add to this data.
>
> Unfortunately, pretty much everything in Freebase is always going to
> be visible, that's sort of the point. Data that isn't public or isn't
> connected is of no use to a community.
>
> The problem of publishing data that is, in essence, guaranteed by
> the publisher, is one that we're aware of but you're the first person
> to bring it up in this context.
>
> Our permission system provides write protection on a per-instance
> basis
> so in this case it might actually be better to create your own
> instances
> of FantasyFootballPlayer and associate them with the actual football
> player they represent.
>
> As to the ultimate suitability of Freebase for your application, I
> think it
> depends on the extent to which you can imagine other people
> eventually using
> "your" types and instances.
>
> Regards,
>
> -Scott
> _______________________________________________
> Developers mailing list
> Developers at freebase.com
> http://lists.freebase.com/mailman/listinfo/developers
More information about the Developers
mailing list