UNPKG

expexp

Version:

The express model io and express model and data representation.

422 lines (421 loc) 11.8 kB
{ "t": "entity", "id": "NttPerson", "super": {"t":"not_set"}, "abs": false, "attrs": [ { "t":"attr", "ids":[{"t":"attr_id", "id":"firstName"}], "opt":true, "type":{"t":"type_ref", "id":"TpLabel"} }, { "t":"attr", "ids":[{"t":"attr_id", "id":"lastName"}], "opt":true, "type":{"t":"type_ref", "id":"TpLabel"} }, { "t":"attr", "ids":[{"t":"attr_id", "id":"middleNames"}], "opt":true, "type":{ "t":"list", "unique":false, "bounds":{"t":"bounds","from":[[{ "t":"factor", "arg0":{"t":"integer", "value":1}, "quals0":[], "arg1":null, "quals1":null }]],"to":[]}, "spec":{"t":"type_ref", "id":"TpLabel"} } }, { "t":"attr", "ids":[{"t":"attr_id", "id":"birthDate"}], "opt":true, "type":{"t":"type_ref", "id":"TpDate"} }, { "t":"attr", "ids":[{"t":"attr_id", "id":"phone"}], "opt":true, "type":{"t":"type_ref", "id":"TpLabel"} }, { "t":"attr", "ids":[{"t":"attr_id", "id":"phoneType"}], "opt":true, "type":{"t":"type_ref", "id":"TpPhoneType"} }, { "t":"attr", "ids":[{"t":"attr_id", "id":"phoneTypeOther"}], "opt":true, "type":{"t":"type_ref", "id":"TpLabel"} } ], "derives": [], "uniques": [], "inverses": [ { "t":"inverse", "id": {"t":"attr_id", "id":"creates"}, "aggrType": "set", "aggrBnds":{"t":"bounds","from":[[{ "t":"factor", "arg0":{"t":"integer", "value":0}, "quals0":[], "arg1":null, "quals1":null }]],"to":[]}, "nttRef":{"t":"entity_ref", "id":"NttRelCreates"}, "invRef":{"t":"attr_ref", "id":"creator"} }, { "t":"inverse", "id": {"t":"attr_id", "id":"invites"}, "aggrType": "set", "aggrBnds":{"t":"bounds","from":[[{ "t":"factor", "arg0":{"t":"integer", "value":0}, "quals0":[], "arg1":null, "quals1":null }]],"to":[]}, "nttRef":{"t":"entity_ref", "id":"NttRelInvites"}, "invRef":{"t":"attr_ref", "id":"host"} }, { "t":"inverse", "id": {"t":"attr_id", "id":"isInvited"}, "aggrType": "set", "aggrBnds":{"t":"bounds","from":[[{ "t":"factor", "arg0":{"t":"integer", "value":0}, "quals0":[], "arg1":null, "quals1":null }]],"to":[]}, "nttRef":{"t":"entity_ref", "id":"NttRelInvites"}, "invRef":{"t":"attr_ref", "id":"guests"} }, { "t":"inverse", "id":{"id":"teams","t":"attr_id"}, "aggrType":"bag", "aggrBnds":{"from":[[{"arg0":{"t":"integer","value":0},"arg1":null,"quals0":[],"quals1":null,"t":"factor"}]],"t":"bounds","to":[]}, "nttRef":{"id":"NttTeam","t":"entity_ref"}, "invRef":{"id":"members","t":"attr_ref"} } ], "wheres":[ { "t":"where", "id":"isNamed", "expr":{ "arg0":[ [{ "t":"factor", "arg0":{ "t":"parenthesis", "expr":{ "t":"expr", "arg0":[[ { "arg0":{ "id":"exists", "t":"bifct", "values":[{ "arg0":[[{ "t":"factor", "arg0":{"id":"firstName","t":"var_ref"}, "quals0":[], "arg1":null, "quals1":null }]], "arg1":null, "op":null, "t":"expr" }] }, "arg1":null, "quals0":[], "quals1":null, "t":"factor" }, {"id":"and","t":"multlikeop"}, { "t":"factor", "arg0":{ "t":"parenthesis", "expr":{ "t":"expr", "arg0":[[ { "t":"factor", "arg0":{"t":"integer","value":0}, "quals0":[], "arg1":null, "quals1":null } ]], "op":{"id":"lt","t":"relopext"}, "arg1":[[{ "t":"factor", "arg0":{ "id":"length", "t":"bifct", "values":[{ "t":"expr", "arg0":[[ { "t":"factor", "arg0":{"id":"firstName","t":"var_ref"}, "quals0":[], "arg1":null, "quals1":null } ]], "op":null, "arg1":null }] }, "arg1":null, "quals0":[], "quals1":null }]] } }, "arg1":null, "quals0":[], "quals1":null } ]], "op":null, "arg1":null } }, "quals0":[], "arg1":null, "quals1":null }], {"id":"or","t":"addlikeop"}, [{ "t":"factor", "arg0":{ "t":"parenthesis", "expr":{ "t":"expr", "arg0":[[ { "arg0":{ "id":"exists", "t":"bifct", "values":[{ "arg0":[[{ "t":"factor", "arg0":{"id":"lastName","t":"var_ref"}, "quals0":[], "arg1":null, "quals1":null }]], "arg1":null, "op":null, "t":"expr" }] }, "arg1":null, "quals0":[], "quals1":null, "t":"factor" }, {"id":"and","t":"multlikeop"}, { "t":"factor", "arg0":{ "t":"parenthesis", "expr":{ "t":"expr", "arg0":[[ { "t":"factor", "arg0":{"t":"integer","value":0}, "quals0":[], "arg1":null, "quals1":null } ]], "op":{"id":"lt","t":"relopext"}, "arg1":[[{ "t":"factor", "arg0":{ "id":"length", "t":"bifct", "values":[{ "t":"expr", "arg0":[[ { "t":"factor", "arg0":{"id":"lastName","t":"var_ref"}, "quals0":[], "arg1":null, "quals1":null } ]], "op":null, "arg1":null }] }, "arg1":null, "quals0":[], "quals1":null }]] } }, "arg1":null, "quals0":[], "quals1":null } ]], "op":null, "arg1":null } }, "quals0":[], "arg1":null, "quals1":null }], {"id":"or","t":"addlikeop"}, [{ "t":"factor", "arg0":{ "t":"parenthesis", "expr":{ "t":"expr", "arg0":[[ { "arg0":{ "id":"exists", "t":"bifct", "values":[{ "arg0":[[{ "t":"factor", "arg0":{"id":"middleNames","t":"var_ref"}, "quals0":[], "arg1":null, "quals1":null }]], "arg1":null, "op":null, "t":"expr" }] }, "arg1":null, "quals0":[], "quals1":null, "t":"factor" }, {"id":"and","t":"multlikeop"}, { "t":"factor", "arg0":{ "t":"parenthesis", "expr":{ "t":"expr", "arg0":[[ { "t":"factor", "arg0":{"t":"integer","value":0}, "quals0":[], "arg1":null, "quals1":null } ]], "op":{"id":"lt","t":"relopext"}, "arg1":[[{ "t":"factor", "arg0":{ "id":"length", "t":"bifct", "values":[{ "t":"expr", "arg0":[[ { "t":"factor", "arg0":{"id":"middleNames","t":"var_ref"}, "quals0":[ { "t":"idx_qual", "idxStart":[[{ "arg0":{"t":"integer","value":1}, "arg1":null, "quals0":[], "quals1":null, "t":"factor" }]], "idxEnd":[] } ], "arg1":null, "quals1":null } ]], "op":null, "arg1":null }] }, "arg1":null, "quals0":[], "quals1":null }]] } }, "arg1":null, "quals0":[], "quals1":null } ]], "op":null, "arg1":null } }, "quals0":[], "arg1":null, "quals1":null }] ], "arg1":null, "op":null, "t":"expr" } }, { "expr":{"arg0":[[{"arg0":{"expr":{"arg0":[[{"arg0":{"id":"exists","t":"bifct","values":[{"arg0":[[{"arg0":{"id":"phone","t":"var_ref"},"arg1":null,"quals0":[],"quals1":null,"t":"factor"}]],"arg1":null,"op":null,"t":"expr"}]},"arg1":null,"quals0":[],"quals1":null,"t":"factor"}]],"arg1":[[{"arg0":{"id":"exists","t":"bifct","values":[{"arg0":[[{"arg0":{"id":"phoneType","t":"var_ref"},"arg1":null,"quals0":[],"quals1":null,"t":"factor"}]],"arg1":null,"op":null,"t":"expr"}]},"arg1":null,"quals0":[],"quals1":null,"t":"factor"}]],"op":{"id":"eq","t":"relopext"},"t":"expr"},"t":"parenthesis"},"arg1":null,"quals0":[],"quals1":null,"t":"factor"}]],"arg1":null,"op":null,"t":"expr"}, "id":"phoneTypeWhenPhoneSet", "t":"where" }, { "expr":{ "t":"expr", "arg0":[ [{ "t":"factor", "arg0":{ "expr":{ "t":"expr", "arg0":[[{ "t":"factor", "arg0":{"id":"phoneType","t":"var_ref"},"arg1":null,"quals0":[],"quals1":null }]], "op":{"id":"ne","t":"relopext"}, "arg1":[[{ "t":"factor", "arg0":{"id":"TpPhoneType","t":"type_ref"}, "quals0":[{"id":"OTHER","t":"enum_value"}], "arg1":null, "quals1":null }]] }, "t":"parenthesis" }, "quals0":[], "arg1":null, "quals1":null }], {"id":"or","t":"addlikeop"}, [{ "t":"factor", "arg0":{"expr":{"arg0":[[{"arg0":{"expr":{"arg0":[[{"arg0":{"id":"phoneType","t":"var_ref"},"arg1":null,"quals0":[],"quals1":null,"t":"factor"}]],"arg1":[[{"arg0":{"id":"TpPhoneType","t":"type_ref"},"arg1":null,"quals0":[{"id":"OTHER","t":"enum_value"}],"quals1":null,"t":"factor"}]],"op":{"id":"eq","t":"relopext"},"t":"expr"},"t":"parenthesis"},"arg1":null,"quals0":[],"quals1":null,"t":"factor"},{"id":"and","t":"multlikeop"},{"arg0":{"expr":{"arg0":[[{"arg0":{"id":"exists","t":"bifct","values":[{"arg0":[[{"arg0":{"id":"phoneTypeOther","t":"var_ref"},"arg1":null,"quals0":[],"quals1":null,"t":"factor"}]],"arg1":null,"op":null,"t":"expr"}]},"arg1":null,"quals0":[],"quals1":null,"t":"factor"}]],"arg1":null,"op":null,"t":"expr"},"t":"parenthesis"},"arg1":null,"quals0":[],"quals1":null,"t":"factor"}]],"arg1":null,"op":null,"t":"expr"},"t":"parenthesis"}, "quals0":[], "arg1":null, "quals1":null }] ], "op":null, "arg1":null }, "id":"phoneTypeOtherDescribed", "t":"where" } ] }