Database : symtrajsmall Restore : No Operator : tolabel Number : 1 Signature: (string | text) -> label Example : query tolabel('Witsel') Result : (label 'Witsel') Operator : tostring Number : 1 Signature: label -> string Example : query tostring(tolabel('Witsel')) Result : "Witsel" Operator : totext Number : 1 Signature: label -> text Example : query totext(tolabel('Witsel')) Result : 'Witsel' Operator : mstringtomlabel Number : 1 Signature: mstring -> mlabel Example : query no_components(mstringtomlabel([const mstring value ((("2013-01-01" "2013-01-02" TRUE FALSE) "at_home"))])) Result : 1 Operator : tolabels Number : 1 Signature: (text)+ -> labels Example : query tolabels('Guerreiro', '', 'Schmelzer') Result : (labels ('Guerreiro' 'Schmelzer')) Operator : toplaces Number : 1 Signature: place x ... x place -> places Example : query toplaces(toplace('Guerreiro', 13), toplace('Schmelzer', 29)) Result : (places (('Guerreiro' 13) ('Schmelzer' 29))) Operator : toplaces Number : 2 Signature: text x int ... x text x int -> places Example : query toplaces('Guerreiro', 13, 'Schmelzer', 29) Result : (places (('Guerreiro' 13) ('Schmelzer' 29))) Operator : collect_labels Number : 1 Signature: stream(T) x bool -> labels, where T in {label, string, text} Example : query no_components(units(Dotraj feed extract[Trajectory]) transformstream projectextend[;L: val(final(.Elem))] projecttransformstream[L] collect_labels[TRUE]) Result : 6 Operator : contains Number : 1 Signature: labels x label -> bool Example : query [const labels value ("Guerreiro" "Reus")] contains tolabel("Reus") Result : TRUE Operator : contains Number : 2 Signature: places x place -> bool Example : query [const places value (("Sancho" 7) ("Piszczek" 26))] contains toplace("Reus", 11) Result : FALSE Operator : intersects Number : 1 Signature: labels x labels -> bool Example : query tolabels("Guerreiro", "Reus") intersects tolabels("Reus") Result : TRUE Operator : toplace Number : 1 Signature: (string | text) x int -> place Example : query toplace("Reus", 11) Result : (place ('Reus' 11)) Operator : name Number : 1 Signature: place -> text Example : query name([const place value ("Witsel" 28)]) Result : 'Witsel' Operator : ref Number : 1 Signature: place -> int Example : query ref([const place value ("Witsel" 28)]) Result : 28 Operator : = Number : 1 Signature: T x T -> bool, where T in {label(s), place(s)} Example : query [const labels value ('Reus' 'Akanji')] = [const labels value ('Akanji' 'Reus')] Result : TRUE Operator : # Number : 1 Signature: T x T -> bool, where T in {label(s), place(s)} Example : query [const labels value ('Reus' 'Akanji')] # [const labels value ('Akanji' 'Reus')] Result : FALSE Operator : union Number : 1 Signature: T x T -> (labels|places), where T in {label(s), place(s)} Example : query [const labels value ('Reus' 'Bürki')] union [const labels value ('Bürki' 'Weigl')] Result : (labels ('Bürki' 'Reus' 'Weigl')) Operator : intersection Number : 1 Signature: T x T -> T, where T in {labels, places} Example : query intersection([const labels value ('Reus' 'Bürki')], [const labels value ('Bürki' 'Weigl')]) Result : (labels ('Bürki')) Operator : minus Number : 1 Signature: T x U -> T, where T in {labels, places}, U in {label(s), place(s)} Example : query [const labels value ('Reus' 'Bürki')] minus [const labels value ('Bürki' 'Weigl')] Result : (labels ('Reus')) Operator : recode Number : 1 Signature: T x string x string -> T, where T in {mlabel, mlabels} Example : query the_unit(tolabel("Götze"), [const instant value "2000-01-03"], [const instant value "2000-01-04"], TRUE, FALSE) feed transformstream makemvalue[Elem] recode ["latin1", "utf8"] Result : unpredictable Remark : Operator not available without Recode library Operator : the_unit Number : 6 Signature: label x instant x instant x bool x bool -> ulabel Example : query the_unit(tolabel("Götze"), [const instant value "2000-01-03"], [const instant value "2000-01-04"], TRUE, FALSE) Result : (ulabel (("2000-01-03" "2000-01-04" TRUE FALSE)'Götze')) Operator : the_unit Number : 8 Signature: label x interval -> ulabel Example : query the_unit(tolabel("Götze"), [const interval value ("2000-01-03" "2000-01-04" TRUE FALSE)]) Result : (ulabel (("2000-01-03" "2000-01-04" TRUE FALSE)'Götze')) Operator : the_unit Number : 7 Signature: place x instant x instant x bool x bool -> uplace Example : query the_unit(toplace("Götze", 10), [const instant value "2000-01-03"], [const instant value "2000-01-04"], TRUE, FALSE) Result : (uplace (("2000-01-03" "2000-01-04" TRUE FALSE) ('Götze' 10))) Operator : makemvalue Number : 7 Signature: stream (tuple ((x1 t1)...(xi ulabel)...(xn tn))) xi -> mlabel Example : query the_unit(tolabel("Götze"), [const instant value "2000-01-03"], [const instant value "2000-01-04"], TRUE, FALSE) feed transformstream makemvalue[Elem] Result : (mlabel ((("2000-01-03" "2000-01-04" TRUE FALSE)'Götze'))) Operator : makemvalue Number : 8 Signature: stream (tuple ((x1 t1)...(xi uplace)...(xn tn))) xi -> mplace Example : query the_unit(toplace("Götze", 10), [const instant value "2000-01-03"], [const instant value "2000-01-04"], TRUE, FALSE) feed transformstream makemvalue[Elem] Result : (mplace ((("2000-01-03" "2000-01-04" TRUE FALSE) ('Götze' 10)))) Operator : makemvalue2 Number : 7 Signature: stream (tuple ((x1 t1)...(xi ulabel)...(xn tn))) xi -> mlabel Example : query the_unit(tolabel("Götze"), [const instant value "2000-01-03"], [const instant value "2000-01-04"], TRUE, FALSE) feed transformstream makemvalue2[Elem] Result : (mlabel ((("2000-01-03" "2000-01-04" TRUE FALSE)'Götze'))) Operator : makemvalue2 Number : 8 Signature: stream (tuple ((x1 t1)...(xi uplace)...(xn tn))) xi -> mplace Example : query the_unit(toplace("Götze", 10), [const instant value "2000-01-03"], [const instant value "2000-01-04"], TRUE, FALSE) feed transformstream makemvalue2[Elem] Result : (mplace ((("2000-01-03" "2000-01-04" TRUE FALSE) ('Götze' 10)))) Operator : passes Number : 6 Signature: mlabel x label -> bool Example : query mlabel1 passes tolabel("Eving") Result : TRUE Operator : passes Number : 7 Signature: mplace x place -> bool Example : query mplace1 passes toplace("Bartra", 5) Result : TRUE Operator : at Number : 4 Signature: mlabel x label -> mlabel Example : query mlabel1 at tolabel("Eving") Result : (mlabel ((("2012-01-01" "2012-01-01-00:30" TRUE FALSE)'Eving'))) Operator : at Number : 5 Signature: mplace x place -> mplace Example : query mplace1 at toplace('Weigl', 33) Result : (mplace ((("2014-01-01-02:00" "2014-01-01-02:30" TRUE FALSE) ('Weigl' 33)))) Operator : deftime Number : 4 Signature: mlabel -> periods Example : query deftime(the_unit(tolabel("Pulisic"), [const instant value "2000-01-03"], [const instant value "2000-01-04"], TRUE, FALSE) feed transformstream makemvalue[Elem]) Result : (periods (("2000-01-03" "2000-01-04" TRUE FALSE))) Operator : atinstant Number : 4 Signature: mlabel x instant -> ilabel Example : query mlabel1 atinstant [const instant value "2012-01-01-01:15"] Result : (ilabel ("2012-01-01-01:15" 'Brackel')) Operator : atinstant Number : 5 Signature: mplace x instant -> iplace Example : query mplace1 atinstant [const instant value "2014-01-01-01:15"] Result : (iplace ("2014-01-01-01:15" ('Aubameyang' 17))) Operator : atperiods Number : 1 Signature: mlabel x periods -> mlabel Example : query mlabel1 atperiods [const periods value (("2012-01-01-01:10" "2012-01-01-01:20" TRUE TRUE))] Result : (mlabel ((("2012-01-01-01:10" "2012-01-01-01:20" TRUE TRUE) 'Brackel'))) Operator : units Number : 5 Signature: mlabel -> (stream ulabel) Example : query units(mlabel1) count Result : 6 Operator : no_components Number : 1 Signature: mlabel -> int Example : query no_components(mlabel1) Result : 6 Operator : getunit Number : 1 Signature: mlabel x int -> ulabel Example : query getunit(mlabel1, 0) Result : (ulabel (("2012-01-01" "2012-01-01-00:30" TRUE FALSE) 'Eving')) Operator : getPosition Number : 2 Signature: mlabel x instant -> int Example : query getPosition(mlabel1, [const instant value "2012-01-01-00:09:09"]) Result : 0 Operator : getInterval Number : 1 Signature: mlabel -> interval Example : query getInterval(mlabel1) Result : (interval ("2012-01-01" "2012-01-01-03:00" TRUE FALSE)) Operator : initial Number : 12 Signature: ulabel -> ilabel Example : query initial(the_unit(tolabel("Dembélé"), [const instant value "2000-01-03"], [const instant value "2000-01-04"], TRUE, FALSE)) Result : (ilabel ("2000-01-03" 'Dembélé')) Operator : final Number : 12 Signature: ulabel -> ilabel Example : query final(the_unit(tolabel("Dembélé"), [const instant value "2000-01-03"], [const instant value "2000-01-04"], TRUE, FALSE)) Result : (ilabel ("2000-01-04" 'Dembélé')) Operator : val Number : 4 Signature: ilabel -> label Example : query val([const ilabel value ("2013-10-29" "Dembélé")]) Result : (label 'Dembélé') Operator : inst Number : 4 Signature: iplace -> instant Example : query inst([const iplace value ("2013-10-29" ("Dembélé" 10))]) Result : (instant "2013-10-29") Operator : inside Number : 1 Signature: mlabel x labels -> mbool Example : query (mlabel1 inside [const labels value ("Innenstadt-Ost")]) at TRUE Result : (mbool ((("2012-01-01-01:30" "2012-01-01-02:00" TRUE FALSE)TRUE))) Operator : inside Number : 2 Signature: mplace x places -> mbool Example : query (mplace1 inside [const places value (('Bartra' 5) ("Schmelzer" 29))]) at TRUE Result : (mbool ((("2014-01-01" "2014-01-01-00:30" TRUE FALSE)TRUE))) Operator : the_unit Number : 9 Signature: labels x instant x instant x bool x bool -> ulabels Example : query the_unit([const labels value ("Mkhitaryan" "Reus")], [const instant value "2000-01-03"], [const instant value "2000-01-04"], TRUE, FALSE) Result : (ulabels (("2000-01-03" "2000-01-04" TRUE FALSE) ('Mkhitaryan' 'Reus'))) Operator : the_unit Number : 11 Signature: labels x interval -> ulabel Example : query the_unit([const labels value ("Mkhitaryan" "Reus")], [const interval value ("2000-01-03" "2000-01-04" TRUE FALSE)]) Result : (ulabels (("2000-01-03" "2000-01-04" TRUE FALSE) ('Mkhitaryan' 'Reus'))) Operator : the_unit Number : 10 Signature: places x instant x instant x bool x bool -> uplaces Example : query the_unit([const places value (("Mkhitaryan" 10) ("Reus" 11))], [const instant value "2000-01-03"], [const instant value "2000-01-04"], TRUE, FALSE) Result : (uplaces (("2000-01-03" "2000-01-04" TRUE FALSE) (('Mkhitaryan' 10) ('Reus' 11)))) Operator : makemvalue Number : 9 Signature: stream (tuple ((x1 t1)...(xi ulabels)...(xn tn))) xi -> mlabels Example : query the_unit([const labels value ("Guerreiro" "Reus")], [const instant value "2000-01-03"], [const instant value "2000-01-04"], TRUE, FALSE) feed transformstream makemvalue[Elem] Result : (mlabels ((("2000-01-03" "2000-01-04" TRUE FALSE) ('Guerreiro' 'Reus')))) Operator : makemvalue Number : 10 Signature: stream (tuple ((x1 t1)...(xi uplaces)...(xn tn))) xi -> mplaces Example : query the_unit([const places value (("Mkhitaryan" 10) ("Reus" 11))], [const instant value "2000-01-03"], [const instant value "2000-01-04"], TRUE, FALSE) feed transformstream makemvalue[Elem] Result : (mplaces ((("2000-01-03" "2000-01-04" TRUE FALSE) (('Mkhitaryan' 10) ('Reus' 11))))) Operator : makemvalue2 Number : 9 Signature: stream (tuple ((x1 t1)...(xi ulabels)...(xn tn))) xi -> mlabels Example : query the_unit([const labels value ("Mkhitaryan" "Reus")], [const instant value "2000-01-03"], [const instant value "2000-01-04"], TRUE, FALSE) feed transformstream makemvalue2[Elem] Result : (mlabels ((("2000-01-03" "2000-01-04" TRUE FALSE) ('Mkhitaryan' 'Reus')))) Operator : makemvalue2 Number : 10 Signature: stream (tuple ((x1 t1)...(xi uplaces)...(xn tn))) xi -> mplaces Example : query the_unit([const places value (("Mkhitaryan" 10) ("Reus" 11))], [const instant value "2000-01-03"], [const instant value "2000-01-04"], TRUE, FALSE) feed transformstream makemvalue2[Elem] Result : (mplaces ((("2000-01-03" "2000-01-04" TRUE FALSE) (('Mkhitaryan' 10) ('Reus' 11))))) Operator : passes Number : 8 Signature: mlabels x labels -> bool Example : query mlabels1 passes [const labels value ("Weidenfeller")] Result : FALSE Operator : passes Number : 9 Signature: mlabels x label -> bool Example : query mlabels1 passes tolabel("Durm") Result : TRUE Operator : passes Number : 10 Signature: mplaces x places -> bool Example : query mplaces1 passes [const places value (("Götze" 10))] Result : TRUE Operator : passes Number : 11 Signature: mplaces x place -> bool Example : query mplaces1 passes toplace('Piszczek', 26) Result : TRUE Operator : at Number : 6 Signature: mlabels x label -> mlabels Example : query mlabels1 at tolabel("Passlack") Result : (mlabels ((("2014-07-01" "2015-06-30" TRUE FALSE)('Merino' 'Passlack')))) Operator : at Number : 7 Signature: mlabels x labels -> mlabels Example : query mlabels1 at [const labels value ('Barrios' 'Kehl' "Dédé")] Result : (mlabels ((("2010-07-01" "2011-06-30" TRUE FALSE)('Barrios' 'Dédé' 'Kehl')))) Operator : at Number : 8 Signature: mplaces x place -> mplaces Example : query mplaces1 at toplace("Götze", 10) Result : (mplaces ((("2014-01-01-00:30" "2014-01-01-01:00" TRUE FALSE)(('Götze' 10))))) Operator : at Number : 9 Signature: mplaces x places -> mplaces Example : query mplaces1 at [const places value (('Götze' 10))] Result : (mplaces ((("2014-01-01-00:30" "2014-01-01-01:00" TRUE FALSE)(('Götze' 10))))) Operator : deftime Number : 5 Signature: mlabels -> periods Example : query deftime(the_unit([const labels value ("Götze" "Reus")], [const instant value "2000-01-03"], [const instant value "2000-01-04"], TRUE, FALSE) feed transformstream makemvalue[Elem]) Result : (periods (("2000-01-03" "2000-01-04" TRUE FALSE))) Operator : units Number : 6 Signature: mlabels -> (stream ulabels) Example : query units(mlabels1) count Result : 3 Operator : initial Number : 13 Signature: ulabels -> ilabels Example : query initial(the_unit([const labels value ("Schürrle")], [const instant value "2000-01-03"], [const instant value "2000-01-04"], TRUE, FALSE)) Result : (ilabels ("2000-01-03" ('Schürrle'))) Operator : final Number : 13 Signature: mplaces -> iplaces Example : query final(mplaces1) Result : (iplaces ("2014-01-01-03:00" (('Bürki' 38) ('Weidenfeller' 1)))) Operator : val Number : 5 Signature: ilabels -> label Example : query val([const ilabels value ("2013-10-29" ("Pulisic" "Weigl"))]) Result : (labels ('Pulisic' 'Weigl')) Operator : inst Number : 5 Signature: iplaces -> instant Example : query inst([const iplaces value ("2013-10-29" (('Jojic' 14)))]) Result : (instant "2013-10-29") Operator : atinstant Number : 6 Signature: mlabels -> ilabels Example : query mlabels1 atinstant [const instant value "2014-07-07-11:00"] Result : (ilabels ("2014-07-07-11:00" ('Merino' 'Passlack'))) Operator : atinstant Number : 7 Signature: mplaces -> iplaces Example : query mplaces1 atinstant [const instant value "2014-01-01-02:55"] Result : (iplaces ("2014-01-01-02:55" (('Bürki' 38) ('Weidenfeller' 1)))) Operator : concat Number : 1 Signature: mlabel -> mlabel Example : query [const mlabel value ((("2000-01-03" "2000-01-04" TRUE FALSE)'Mkhitaryan'))] [const mlabel value ((("2000-01-07" "2000-01-10" TRUE FALSE)'Ginter'))] concat Result : (mlabel ((("2000-01-03" "2000-01-04" TRUE FALSE) 'Mkhitaryan') (("2000-01-07" "2000-01-10" TRUE FALSE) 'Ginter'))) Operator : compress Number : 1 Signature: mlabel -> mlabel Example : query compress([const mlabel value ((("2013-01-01" "2013-01-02" TRUE FALSE) "at_home") (("2013-01-02" "2013-01-03" TRUE FALSE) "at_home"))]) Result : (mlabel ((("2013-01-01" "2013-01-03" TRUE FALSE) 'at_home'))) Operator : fillgaps Number : 1 Signature: mlabel -> mlabel Example : query fillgaps([const mlabel value ((("2012-10-01" "2012-10-02-05:00:00" TRUE FALSE) "at_home") (("2012-10-02-05:00:58" "2012-10-02-07:00:00" TRUE FALSE) "at_home"))], 60000) Result : (mlabel ((("2012-10-01" "2012-10-02-07:00" TRUE FALSE) 'at_home')))