How about (if possible) making it blatantly obvious that the Topic being selected has already been typed the appropriate type and de-emphasizing the other Topics that match the search, but have not yet been given the expected type. Even just moving that type to the beginning of the list of types and bolding it would help.
<br><br>I like the fact that Freebase will automatically add the type for me if I make a relationship. If I had to leave the page I am editing, search for another page, add the &quot;TV Actor&quot; type then go back and add that actor, I don&#39;t think I would ever use Freebase. (That&#39;s not really a good example since most of the properties that expect a &#39;TV Actor&#39; have reciprocal properties, but there are still some properties where the link is only one way at the moment where this example still stands)
<br><br><div><span class="gmail_quote">On 12/3/07, <b class="gmail_sendername">brendan neutra</b> &lt;<a href="mailto:brendan@metaweb.com">brendan@metaweb.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>Better/easier cleanup seems like a win-win.<br><br>Prompting the user (or other obstacles in the UI pattern) involves trade-offs:<br>if simultaneously linking and typing a target object (e.g. linking to Terry<br>Gross *and* making her a radio host in one shot) is an action that improves the
<br>quality of the data the vast majority of the time, maybe it&#39;s best not to make<br>the users go through an extra hoop with a confirmation prompt.&nbsp;&nbsp;If it is an<br>action that has the potential of degrading the quality of the data (which this
<br>action does, currently) and the cost of the degradation outweighs the benefits<br>of the easy input, re-design.<br><br>This kind of tradeoff is likely to remain interesting, dare I say, forever (one<br>can hope?). What I mean is, we will always have domains of knowledge that are
<br>new and incomplete. I suppose a good design can side-step what often appears as<br>a dilemma. Just a thought, from a non-designer...<br><br>Brendan<br><br><br><br>Robert Cook wrote:<br>&gt; This is my philosophy as well: Default to very open input in the
<br>&gt; spirit of Wikipedia rather than that of a strict database.<br>&gt;<br>&gt; Regarding the particular problem that was frustrating Arthur, I think<br>&gt; there might be a simple solution we could incorporate into the
<br>&gt; Freebase application.&nbsp;&nbsp;If a user removes a property value and he had<br>&gt; created that property himself and the referenced topic (the topic on<br>&gt; the other side of the link) was typed at the same time, then detype
<br>&gt; that referenced topic.<br>&gt;<br>&gt; This way the natural thing happens.&nbsp;&nbsp;If you make a mistake, it&#39;s<br>&gt; cleaned up.<br>&gt;<br>&gt; We probably need some similar logic for deleting CVTs, which often<br>
&gt; leave behind cruft when they are deleted from one side.<br>&gt;<br>&gt; R<br>&gt;<br>&gt; On Dec 2, 2007, at 12:56 PM, John Giannandrea wrote:<br>&gt;<br>&gt;&gt; Arthur van Hoff wrote:<br>&gt;&gt;&gt; Just for kicks I added the postal code 94025 as founder of the NPR
<br>&gt;&gt;&gt; radio<br>&gt;&gt;&gt; station. I don&#39;t understand why a postal code is allowed to also be a<br>&gt;&gt;&gt; company founder and a person. Maybe you need to explain more clearly<br>&gt;&gt;&gt; why<br>
&gt;&gt;&gt; this is a good thing...<br>&gt;&gt; Ill let the client designers respond to the suggestions that its too<br>&gt;&gt; easy to type things from autocomplete.&nbsp;&nbsp;Its certainly too hard to<br>&gt;&gt; clean up, I agree.&nbsp;&nbsp;When you remove the type, the item no longer shows
<br>&gt;&gt; up, but its still there in MQL.<br>&gt;&gt;<br>&gt;&gt; Im not claiming that its a &#39;good thing&#39; that you made a postal code<br>&gt;&gt; into a radio station founder, just that loose typing is a prerequisite
<br>&gt;&gt; for a system like this, where not everything is known up front.&nbsp;&nbsp; For<br>&gt;&gt; example if you knew that &#39;Terry Gross&#39; was a radio show host but we<br>&gt;&gt; only had her as a person, then adding her in to the right field would
<br>&gt;&gt; co-type her and give her the correct reverse property.&nbsp;&nbsp;Could there be<br>&gt;&gt; a confirmation step there, sure, but we dont want to not show you her<br>&gt;&gt; as an option if you typed in her name.<br>&gt;&gt;
<br>&gt;&gt; We do have the beginnings of more structure in the type system,<br>&gt;&gt; enumerations and included types and one could imagine using these to<br>&gt;&gt; start to limit what gets done easily vs what requires confirmation.
<br>&gt;&gt; So a radio host must already be a person might be a constraint we<br>&gt;&gt; could use in the UI.<br>&gt;&gt;<br>&gt;&gt; Ultimately we can imagine having even more metadata like type<br>&gt;&gt; exclusion information, that a zipcode is never a person.&nbsp;&nbsp;But that
<br>&gt;&gt; leads directly into the haunted wood called formal ontology.&nbsp;&nbsp; If you<br>&gt;&gt; imagine a continuum between semi-structured user entered text<br>&gt;&gt; (wikipedia infoboxes say) and Cyc, I imagine that we will be most
<br>&gt;&gt; successful if we end up somewhere in the middle.&nbsp;&nbsp;So our type system<br>&gt;&gt; is *not* normative, and is loose specifically so we can capture<br>&gt;&gt; information that was unexpected and then, as a community, derive long-
<br>&gt;&gt; lasting types from the data users created.<br>&gt;&gt;<br>&gt;&gt;&gt; UI. This will break my application, which expects the property to<br>&gt;&gt;&gt; only<br>&gt;&gt;&gt; refer to objects of the correct type.
<br>&gt;&gt; MQL explicitly does not enforce strict typing.&nbsp;&nbsp;&nbsp;&nbsp;If your application<br>&gt;&gt; has code that requires that its dealing with a radio station founder,<br>&gt;&gt; you should add that as a type constraint in the place you extract
<br>&gt;&gt; those properties.&nbsp;&nbsp;In theory we could add a stricter query mode to<br>&gt;&gt; MQL, but haven&#39;t yet.<br>&gt;&gt;<br>&gt;&gt; -jg<br>&gt;&gt;<br>&gt;&gt; _______________________________________________<br>
&gt;&gt; Developers mailing list<br>&gt;&gt; <a href="mailto:Developers@freebase.com">Developers@freebase.com</a><br>&gt;&gt; <a href="http://lists.freebase.com/mailman/listinfo/developers">http://lists.freebase.com/mailman/listinfo/developers
</a><br>&gt;<br>&gt; _______________________________________________<br>&gt; Developers mailing list<br>&gt; <a href="mailto:Developers@freebase.com">Developers@freebase.com</a><br>&gt; <a href="http://lists.freebase.com/mailman/listinfo/developers">
http://lists.freebase.com/mailman/listinfo/developers</a><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>