action items

Matthew Graham mjg at cacr.caltech.edu
Mon Sep 28 10:58:09 PDT 2009


Hi,

These points raise a matter that needs to be discussed by the group.

On Sep 28, 2009, at 10:49 AM, Roy Williams wrote:
>
>>> (5) What can be done about searching on string parameters? Strict  
>>> equality? Contains? Startswith, Endswith?
>>
>> The current behaviour is strict equality and case sensitivity (so  
>> seap.param = Ast1 matches 'Ast1' but not 'ast1'). We could broaden  
>> this to include something akin to the '%' in SQL queries, e.g.
>>
>> seap.param = %st%
>>
>> which would meet your contains, startswith and endswith. Anything  
>> more than this, though, should go in the CEAP (Complex Event Access  
>> Protocol).
>>
>>> (6) I am assuming that a "dataType" attribute will appear in the  
>>> VOEvent2.0 spec, so that we know whether something is a number or  
>>> a string. For strings "19" < "2" but for floats 19 > 2.
>>
>> The current version of SEAP is based around VOEvent 1.1. I would  
>> anticipate a SEAP 2.0 to deal with queries against the VOEvent 2.0  
>> data model.
>
> In answer to both (5) and (6), the problem with VOEvent 1.1 is that  
> all parameters are strings, because there is no dataType attribute  
> in the Param definition. So if the values of two parameters are "2"  
> and "19", we cannot tell if they should be converted to floats (2 <  
> 19) or not ("2" > "19").

Given that VOEvent 1.1 has no data typing and there is a requirement  
to support range queries in SEAP (e.g. 16 < mag1 < 20), how do we  
overcome the mismatch? I can see three (not mutually exclusive)  
alternatives:

(1) Rely on implementor knowledge: The SEAP server 'knows' that mag1  
takes numerical values and so will parse and convert any range queries  
appropriately. At the worst it can construct a standard SQL string to  
send against the DB, catch the error when this fails because of data  
type mismatch and return a HTTP 500.

(2) Information about the data dictionary that the VOEvent stream uses  
in its <What> section is registered in a registry. This includes  
details about the data type and so the SEAP service can poll the  
registry to do its data type checking.

(3) SEAP is only defined to run against VOEvent 2.0 where we have data  
type information (maybe).

What do you all think?

	Cheers,

	Matthew



More information about the voevent mailing list