Hi Steve/Markus,<br>
<br>
I am going to be contoversial and say the join should not be supported
at all! The client should do the join themselves. They should get a set
of nicely defined determination objects (on the basis of a query of
their literal properties == easy stuff) and then go back and get the
specimen objects (on the basis of GUIDS == easy stuff) if they want
more information. <br>
<br>
The determination objects may contain LSIDs of specimens and taxon
concepts or names that are held by different data sources so how can
the data source make the join? Isn't this nature of the system we are
trying to build? Some day down the line a grid service may do the join
for the client and cleverly cache stuff from different data sources but
that is a story for another day...<br>
<br>
Also this is an incredible difficult problem to solve so apply Brave Sir Robin's rule - run away!<br>
<br>
It will all be fun to talk about at the meeting but I suggest we hang
off discussions on the list just now as some people will be in transit.<br>
<br>
Looking forward to seeing attendees next week and hope that we can feed
discussions out to the email list as they happen - so the rest of you
guys can join in.<br>
<br>
All the best,<br>
<br>
Roger<br>
<br>
<br>
<div><span class="gmail_quote">On 07/04/06, <b class="gmail_sendername">Steven Perry</b> &lt;<a href="mailto:smperry@ku.edu">smperry@ku.edu</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;">
Hi Markus,<br><br>This is analogous to the example that Rob and I showed at the Madrid<br>TAPIR meeting with relationships between records representing people and<br>records representing the department(s) they work in.&nbsp;&nbsp;The issue in both
<br>cases is that, with complicated data of multiple types, global concepts<br>don't always provide enough information for one to answer the kinds of<br>queries they might like.&nbsp;&nbsp;To do queries like these, its our feeling that
<br>you have to know information about the different types of objects whose<br>relationships you want to examine (in other words you have to know the<br>domain of each property).<br><br>Just as an aside, most triple stores that are implemented over databases
<br>process queries using the second approach you outlined below (repeated<br>self joins on the triple table).&nbsp;&nbsp;The beauty of this approach is that,<br>with minor modifications, you have the ability to represent combinations
<br>of ANDs and ORs which allow you to distinguish between mandatory and<br>optional match conditions independently of what you want to return from<br>the query.<br><br>I'm also looking forward to talking about this and other issues in
<br>Edinburgh; see you next week.<br><br>-Steve<br><br><br><br>Döring, Markus wrote:<br>&gt; Hello,<br>&gt;
I had a talk with Gregor and the others this week to find out whether
TAPIR is suitable for SDD. Apart from the known recusive issue we were
concerned about one major search problem I would like to introduce you
to:<br>&gt;<br>&gt;<br>&gt; Imagine a simple concept &quot;ontology&quot; with a specimen linked to identifications with a taxon-name and an identifier (person).<br>&gt;<br>&gt; If I want to do a combined search on the identifier AND the taxon name I actually have 2 ways of asking the query.
<br>&gt;<br>&gt;<br>&gt; 1) use the same identification object to do the AND. In SQL this would be:<br>&gt;<br>&gt; SELECT * FROM specimen s JOIN identification i ON xxx WHERE i.taxon_name = &quot;Abies alba&quot; AND i.identifier=
&quot;Markus&quot;<br>&gt;<br>&gt;<br>&gt;<br>&gt;
2) dont require the identifier to have done the identification of the
required name, but to be an independent constraint. In SQL you would
use an alias of that table:<br>&gt;<br>&gt; SELECT * FROM specimen s
JOIN identification i1 ON xxx JOIN identification i2 ON xxx WHERE
i1.taxon_name = &quot;Abies alba&quot; AND i2.identifier=&quot;Markus&quot;<br>&gt;<br>&gt;<br>&gt;<br>&gt; This gives different results.<br>&gt; And it is a common query in SDD when searching on characters.<br>&gt;<br>&gt;
As far as I can see TAPIR cannot handle this, as a TAPIR request doesnt
know about the relations between concept. The entities, classes
whatever you would like to call it. A loose list of independent
concepts really doesnt seem to work. We might need to know about the
class relations/multiplicity at least on a high level. In general this
could be taken from an XML Schema as well as OWL, RDFS or alike.<br>&gt;<br>&gt;
Or we could prescribe a TAPIR service what to do in such cases. If a
complex AND query is received we could prescribe to resolve that query
in way #1 (i think its the more common intention). But then noone would
be able to ask questions of type2.<br>&gt;<br>&gt; Maybe we could
discuss this further in the TAG meeting, Session 4: Integration of
Existing Technologies with a Core Ontology?<br>&gt;<br>&gt; I do not have an answer yet to that question, but I wanted to spread the problem before the TAG meeting.<br>&gt;<br>&gt;<br>&gt; Looking forward to meet you all in Edinburgh,
<br>&gt; Markus<br>&gt;<br>&gt;<br>&gt; _______________________________________________<br>&gt; tdwg-tapir mailing list<br>&gt; <a href="mailto:tdwg-tapir@lists.tdwg.org">tdwg-tapir@lists.tdwg.org</a><br>&gt; <a href="http://lists.tdwg.org/mailman/listinfo/tdwg-tapir_lists.tdwg.org">
http://lists.tdwg.org/mailman/listinfo/tdwg-tapir_lists.tdwg.org</a><br>&gt;<br><br><br>_______________________________________________<br>tdwg-tapir mailing list<br><a href="mailto:tdwg-tapir@lists.tdwg.org">tdwg-tapir@lists.tdwg.org
</a><br><a href="http://lists.tdwg.org/mailman/listinfo/tdwg-tapir_lists.tdwg.org">http://lists.tdwg.org/mailman/listinfo/tdwg-tapir_lists.tdwg.org</a><br></blockquote></div><br><br clear="all"><br>-- <br>-------------------------------------
<br> Roger Hyam<br> Technical Architect<br> Taxonomic Databases Working Group<br>-------------------------------------<br> <a href="http://www.tdwg.org">http://www.tdwg.org</a><br> <a href="mailto:roger@tdwg.org">roger@tdwg.org
</a><br> +44 1578 722782<br>-------------------------------------<br><br>