/************************************************************/
/* tagvqry */
/************************************************************/
/* :SUMMARY: queries on values after tags
:PRIORITY: 5
:STATUS: ok
:FEATURE:
acedb's query language is navigational; having positioned on a specific
spot the NEXT and HERE clauses further position the cursor
:MODEL:
?Probe specific_properties probe_clone_data Text REPEAT
:DATA:
Probe : "G00-163-666"
probe_clone_data "vector_type" "Plasmid"
:RESULT:
1. Query find Probe probe_clone_data = "vector_type"
"Find probes having the tag probe_clone_data followed by the value
vector_type"
should find exactly 1 object
works in: ace33f, ace950716, ace950829a4, ace43h
2. Query find Probe probe_clone_data AND NEXT AND NEXT = "Plasmid"
"Find probes having a the probe_clone_data tag and having Plasmid as the second
value after that tag"
should position on the after tag probe_clone_data, then advance
on the the right and find the match, therefore this query should
find excaclty 1 object.
works in: ace950716, ace950620s4n, ace950829a4, ace.43
fails in: ace33f -- does not find any object
3. Query find Probe probe_clone_data = "vector_type" AND NEXT = "Plasmid"
"Find probes having a the probe_clone_data tag and having
vector_type as the first value and Plasmid as the second value after
that tag"
should position on the value after tag probe_clone_data match it, then advance
on the the right and find the next match, therefore this query should
find excaclty 0 object, because the syntax is wrong.
works in: ace33f
ace951018
fails in: ace950716 -- does not find any object
ace35b -- does not find any object
ace950829a4 -- does not find any object
... what would be a good query syntax now? ...
4. Query find Probe probe_clone_data AND NEXT AND NEXT = "Plasmid"
"Find probes having a the probe_clone_data tag with its second value
being Plasmid"
NEXT allows navigation in the object. But is is less convenient
than the column notation introduced in 4.1
should find exactly one object.
works in: ace951018, ace951109, ace.43
5.Query find Probe probe_clone_data:2 = "Plasmid"
"Find probes having a the probe_clone_data tag with its second value
being Plasmid"
should find exaclty one object.
works in: ace.43
:SCRIPT: */
tagvqry: dbinit wspec.igd-fred // tag value query
tace
parse: do parse $data/igd.probe.ace
1: do Query find Probe probe_clone_data = "vector_type"
count
2: do Query find Probe probe_clone_data AND NEXT = "Plasmid"
count
3: do Query find Probe probe_clone_data = "vector_type" AND NEXT = "Plasmid"
count
4: do Query find Probe probe_clone_data AND NEXT AND NEXT = "Plasmid"
count
5: do Query find Probe probe_clone_data:2 = "Plasmid"
count
exit