2007/5/19, Evgeny Egorochkin &lt;<a href="mailto:phreedom.stdin@gmail.com">phreedom.stdin@gmail.com</a>&gt;:<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;">
On Saturday 19 May 2007 14:37:57 you wrote:<br>&gt; 2007/5/18, Evgeny Egorochkin &lt;<a href="mailto:phreedom.stdin@gmail.com">phreedom.stdin@gmail.com</a>&gt;:<br>&gt; &gt; On Friday 18 May 2007 12:27:30 Mikkel Kamstrup Erlandsen wrote:
<br>&gt; &gt; &gt; &gt; &gt;&nbsp;&nbsp;* should we allow for multiple inheritance (ie multiple parents<br>&gt; &gt; &gt; &gt; &gt; for fields)?<br>&gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; I believe there were two issues intermixed: multiple parents for
<br>&gt; &gt;<br>&gt; &gt; fields<br>&gt; &gt;<br>&gt; &gt; &gt; &gt; and<br>&gt; &gt; &gt; &gt; multiple types or as you say categories for files.<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; True. That is two issues, but I got the impression that the
<br>&gt; &gt;<br>&gt; &gt; Strigi/Nepomuk<br>&gt; &gt;<br>&gt; &gt; &gt; camp where in favor of both?<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; As I consider multiple inheritance (both cats and/or fields) to be a<br>&gt; &gt; &gt; somewhat big feature request it needs to be founded on solid reasoning
<br>&gt; &gt;<br>&gt; &gt; if<br>&gt; &gt;<br>&gt; &gt; &gt; we should go with it.<br>&gt; &gt;<br>&gt; &gt; I don&#39;t consider multiple file types/categories a big feature. Suppose a<br>&gt; &gt; file<br>&gt; &gt; has type/category Audio. This means it belongs to the following
<br>&gt; &gt; categories:<br>&gt; &gt; File, Media, Audio. So it already has multiple types. The question is<br>&gt; &gt; whether<br>&gt; &gt; we allow these types to be outside of strict hierarchy.<br>&gt;<br>&gt; It all boils down to whether or not we allow cycles in the ontology tree.
<br>&gt; It is a lot easier to parse/update a tree structure if there are no cycles.<br>&gt; That is why I consider it a big feature.<br><br>Cycles? Not sure what you are talking about. We should not allow any type to<br>
be a parent of itself(indirectly), true, but this is possible even in single<br>ineritance case if onto is malformed. Or maybe you should elaborate more?</blockquote><div><br><br>In my terminology this is a cycle:<br><br>
A&nbsp;&nbsp; : parent = None<br>B1 : parent = A<br>B2 : parent = A<br>C&nbsp;&nbsp; : parent = B1, B2<br>&nbsp;</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
&gt; Multiple field inheritance, is too in my opinion is not a big feature<br>&gt;<br>&gt; &gt; request<br>&gt; &gt; if inheritance is implemented as such. It might be useful if we link<br>&gt; &gt; multiple<br>&gt; &gt; external ontologies. If we stick with a relatively simple core ontology,
<br>&gt; &gt; it<br>&gt; &gt; may not be required. Time will tell.<br><br>&gt; &quot;We&quot; in this context is *only* the nepomuk project mind you (correct me if<br>&gt; I&#39;m wrong please). There are no plans what so ever for integrating with
<br>&gt; general ontologies in xesam. You can extend the xesam ontology with other<br>&gt; xesam-compliant ontologies and that&#39;s it.<br><br>Sorry? I was under impression that Tracker and Beagle wanted to reuse existing
<br>ontologies as much as possible? So I proposed to make a core xesam-specific<br>ontology with mappings to DC, EXIF etc, since it&#39;s impossible to cleanly link</blockquote><div><br>I think we agree here :-) I might have been unclear. What I meant is that xesam should not necessarily be interoperable with any old ontology off the web. Priority ones like EXIF and such is another case that I do think we should expose/consume/embed/extend (/me don&#39;t consider DC an ontology). We should be interoperable with desktop-related widespread standards IMHO, but these should be nailed down before hand.
<br>&nbsp;</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">&gt; Xesam should of course not restrict Nepomuk from doing this.<br><br>You&#39;re under wrong impression that I&#39;m lobbying nepomuk-specific features to
<br>make life for nepomuk easier. In fact, the simpler is xesam onto(no matter<br>how badly screwed it is), the easier it will be for nepomuk to map it. The<br>reason is that the only mapping needed is Nepomuk-&gt;Xesam and not vice versa.
<br>So Nepomuk doesn&#39;t have to decipher and work around any Xesam onto<br>simplifications/deficiencies(as compared to Nepomuk).</blockquote><div><br>Oh, I was not aware of what the Nepomuk needs actually where, but if they only need a map Nep-&gt;Xes then our life is easier :-)
<br>&nbsp;</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Actually, the easiest thing would be to claim that DC is the best and<br>all-encompassing onto and we don&#39;t need anything else since Nepomuk already
<br>has a DC mapping.</blockquote><div><br>I don&#39;t think anybody wants this :-) <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;">
&gt; &gt; Unfortunately we didn&#39;t really get to discuss any<br>&gt; &gt;<br>&gt; &gt; &gt; practical use cases in the IRC meeting.<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; I have not been able to come up with a good use case (of multi inh.)
<br>&gt; &gt; &gt; myself, but maybe some one here can?<br>&gt; &gt;<br>&gt; &gt; Source code: It is a text document(contains text) and software(has<br>&gt; &gt; dependencies on other software).<br>&gt;<br>&gt; You mean that it might ref some .h files fx? If that is what you meant I
<br>&gt; can&#39;t see why a simple subclass SourceCode-&gt;TextFile (or something) isn&#39;t<br>&gt; enough..?<br><br>Software has dependencies, maintainer, project it belongs to.<br><br>All multiple-inheritance issues can be resolved by moving offending fields
<br>higher in the hierarchy. This doesn&#39;t hurt because they all are optional.<br>Also, you can eliminate single inheritance and file types as such, without<br>much fuss.<br><br>The problem with this approach is that software no longer knows which type is
<br>particular file and consequentially what fields to expect etc.<br><br>The advantage of multi- vs single- inheritance is that you describe aspects of<br>a file with types, e.g it&#39;s a text, software and network resource. Software
<br>then knows what fields to expect and what it is processing.</blockquote><div><br><br>I think you are confusing the matters here. One thing is if a category can have multiple parents in the spec. Another thing is if a specific file can belong to several categories... 
<br></div><br><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">If the onto is quite generic, multiple-inheritance may not be needed. I don&#39;t
<br>insist that we must use it. My point is that it&#39;s easy to implement and it<br>may be useful. Whether/when it will be useful, time will tell.</blockquote><div><br>Ok. I find it hard to get a clear view of the pros and cons on this with only the two of us arguing. My biggest problem is that I&#39;m not clear on the implementation burden of a multi-inheritance system. Both ontology-parsing and the actual searching is affected by multi-inh and I don&#39;t know how well all backends Lucene, Xapian, Trackers custom SQLLite based, handle this... Maybe a few words by the experts can shed some light on the matter; Jos, Joe, Jamie?
<br><br><br></div>Cheers,<br>Mikkel<br></div><br>