...
Examples from [http://avid.cs.umass.edu/sase/]
Code Block |
---|
|
Query 1:
PATTERN SEQ(ShelfReading x, ~ CounterReading y, ExitReading z)
WHERE x.id = y. id AND x.id = z.id /* equivalently, [id] */
WITHIN 16 hours |
Code Block |
---|
|
Query 2:
PATTERN SEQ(ShelfReading x, ShelfReading y, ~ (ANY(CounterReading, ShelfReading) z) )
WHERE [id] AND x.shelf_id ≠ y.shelf_id AND x.shelf_id = z.shelf_id
WITHIN 1 hour |
Code Block |
---|
|
Query 3:
PATTERN (StartLoading a, RfidReading+ b[ ], EndLoading c)
WHERE [loading_dock]
AND a.session_id = c.session_id
AND b[i].packaging_level = ‘pallet’
RETURN a.session_id, count(b[ ]), b[ ].tag_id |
Code Block |
---|
|
PATTERN SEQ(MedicineTaken x, MedicineTaken y)
WHERE [name=‘John’]
AND [medicine=‘Antibiotics’]
AND (x.amount + y.amount) > 1000
WITHIN 4 hours |
Code Block |
---|
|
PATTERN SEQ(News a, Stock+ b[ ])
WHERE [symbol]
AND a.type = 'bad'
AND b[i].symbol = 'GOOG'
AND b[b.LEN].volume < 80%*b[1].volume
WITHIN 4 hours
RETURN sum(b[ ].volume) |
Code Block |
---|
|
PATTERN SEQ(Stock+ a[])
WHERE [symbol]
AND a[1].price = 10
AND a[i].price > a[i-1].price
AND a[a.LEN].price = 20
AND avg(a[].volume) ≥ a[1].volume
WITHIN 1 hour
RETURN a[1].symbol, a[].price |
Code Block |
---|
|
PATTERN SEQ(Stock+ a[], Stock b)
WHERE [symbol]
AND a[1].volume > 1000
AND a[i].price > avg(a[…i-1].price))
AND b.volume < 80% * a[a.LEN].volume
WITHIN 1 hour
RETURN a[1].symbol, a[].(price,volume), b.(price,volume) |
Code Block |
---|
|
PATTERN SEQ(Scan a, ~(Scan+ b[]), Scan c)
WHERE [object_id]
AND a.location = “New York”
AND c.location = “Amherst”
AND b[1].location = a.next
AND b[i].location = b[i-1].next
AND c.location = b[b.LEN].next
AND b.LEN ≤ 3
RETURN c.object_id, c.courier_id |
Code Block |
---|
|
PATTERN SEQ(Alert a, Shipment+ b[ ])
WHERE a.type = 'contaminated'
AND b[1].from = a.site
AND b[i].from = b[i-1].to
WITHIN 3 hours
RETURN a.type, a.site, b[ ].to
|
...