[tdwg-tapir] TapirLite

Renato De Giovanni renato at cria.org.br
Mon Nov 21 21:03:22 CET 2005

Hi Rob,

It seems we agree on everything, I just have some quick comments...

> Further, say a
> portal wants to integrate specimen and taxon concept data, but the
> specimens implement TAPIR and all TCS providers are TAPIRLite.  Once
> again, the developers must write an entirely custom portal.

This could become even more difficult if the TAPIR protocol leaves no 
room for TapirLite implementations. Then the TCS networks would 
probably be based on a completely different protocol, and the 
integration would be more complicated.

> Assuming the above was present in the TAPIR protocol and a mixed
> network of TAPIR/TAPIR Lite implementations, the generic portal's
> basic logic might look something like the following:
> If Provider x is TAPIRLite:
>    Find all query templates that match my output model
>    As user constructs query, remove those query templates that could
>    not possibly be used (missing concept, etc.)
>    /* Likely more logic here if > 1 query templates are left
>     * possibly with user interaction */
> Else If Provider x is TAPIR:
>    Ensure x supports my output model
>    Can assume that search is available
>    Can assume that operations (exception maybe "in") are supported
>    /* If client is ambitious, may try to use any query templates
>    defined
>     * within search capabilities (would be same alg. as TAPIRLite),
>     but * is optional */

That's an interesting exercise. In this scenario, it seems that the 
portal is configured to work with one specific output model (could be 
more than one if we want to complicate things, the user could choose 
one of them and the portal could know how to make transformations or 
to dynamically filter providers). 

When you say "Ensure x supports my output model" that actually means 
"check that x supports custom output models and mapped the necessary 
concepts, otherwise check that x supports any query template 
associated to the output model I want", right?

By the way, looking at the capabilities response, is there any sense 
on having a provider that supports the search operation, does not 
accept custom output models, and does not define any query templates?


More information about the tdwg-tag mailing list