Hi Kurt,<br><br><div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">> I finally just bit the bullet and converted the python
unlinker.py<br>> over to Perl. It works fine. If anyone wants the code, let me know,<br>> but it is not at all polished.<br><br>Please post/email this code. From the perspective of a MQL user,<br>there are multiple flavors of topic deletion:
</blockquote><div><br>To where shall I post the code? As mentioned, it is neither polished nor suitable for use as a module.<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
The unlink.py python code in the MQL docs does not consider incoming<br>links, and may not fully delete a topic.</blockquote><div><br>My preference would have been to truly delete a type I created and all instances of that type I had created. In this case, I failed to consider "incoming" links, just as the
unlinker.py code did.<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">The Freebase UI client has a feature to allow users to flag a topic
<br>with "mark for delete". Metaweb has an administrative process to vet<br>such marks and execute deletions. You could do this through the Web<br>client if the number of deletions is small enough.</blockquote>
<div><br>I had ~250 instances to address, so manual deletion was out of the question. Flagging for deletion was also not useful as it was requested that I remove these instances in a set amount of time, and no instances that I have flagged manually have been addressed at all, to my knowledge. The flagging approach works for public types that require moderation to keep under control, but not so well for a cases where changes need to be made quickly.
<br><br>In general, applications built on Freebase data are likely to have some instances which are not meant to be viewed by users but which are used by the application as enumerated types, complex links, etc. These objects could be built in a separate database, but it's far simpler and more elegant to only have a single database interface for the application. Given that, the ability to change/delete such objects without having to wait for a moderator to review the request is desirable.
<br><br>MJ<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">> On 8/22/07, Kurt Bollacker <<a href="mailto:kurt@metaweb.com">
kurt@metaweb.com</a>> wrote:<br>> > On Wed, Aug 22, 2007 at 08:31:09PM -0700, Michael Jones wrote:<br>> > > Hi Folks,<br>> > ><br>> > > I'm looking for a way to unlink some instances of a specific type (I'd
<br>> > > prefer to delete them entirely, but that another discussion.) There<br>> > > are a lot of them, so manually doing it is out. I could write a<br>> > > script, but it seems this ought to be doable with a single query.
<br>> > ><br>> > > My attempts, which all fail due to uniqueness errors, look like this:<br>> > ><br>> > > {"query":[{<br>> > > type:[{<br>> > > {"id":"/user/szaijan/fantasy_football/statline",
<br>> > > "type":"/type/type"<br>> > > },<br>> > > {"connect":"delete",<br>> > > "id":"/user/szaijan/fantasy_football/projection",
<br>> > > "type":"/type/type"<br>> > > }]<br>> > > }]<br>> > > }<br>> > ><br>> > > Does anyone know how to go about this correctly without writing a
<br>> > > script? The brute force method would be to query all the ids of<br>> > > instances with the types I want to remove, then remove those types in<br>> > > a seperate query. Hopefully, there's a better way.
<br>> ><br>> > I should point out that if you delete the /type/object/type link of a<br>> > topic, it does not automatically remove the properties associated with<br>> > that type. They become harder to find (you must use the full path ID
<br>> > of the property, and they don't show up in the Web UI), but are still<br>> > exist and are usable.<br>> ><br>> > Kurt :-)<br>
> ><br>> ><br>> ><br>> > > ____________________________________________________________________<br>> > ><br>> > > Michael Jones, Gamer at Large<br>> > > <a href="mailto:szaijan@ternea.com">
szaijan@ternea.com</a><br>> > > ____________________________________________________________________<br>> > > _______________________________________________<br>> > > Developers mailing list<br>
> > > <a href="mailto:Developers@freebase.com">Developers@freebase.com</a><br>> > > <a href="http://lists.freebase.com/mailman/listinfo/developers">http://lists.freebase.com/mailman/listinfo/developers</a>
<br>> ><br>><br>><br>> --<br>> ____________________________________________________________________<br>><br>> Michael Jones, Gamer at Large<br>> <a href="mailto:szaijan@ternea.com">szaijan@ternea.com
</a><br>> ____________________________________________________________________<br>> _______________________________________________<br>> Developers mailing list<br>> <a href="mailto:Developers@freebase.com">Developers@freebase.com
</a><br>> <a href="http://lists.freebase.com/mailman/listinfo/developers">http://lists.freebase.com/mailman/listinfo/developers</a><br></blockquote></div><br><br clear="all"><br>-- <br>____________________________________________________________________
<br><br> Michael Jones, Gamer at Large <a href="mailto:szaijan@ternea.com">szaijan@ternea.com</a><br>____________________________________________________________________