Newer
Older
/*
This program has been developed by students from the bachelor Computer Science at Utrecht University within the Software Project course.
© Copyright Utrecht University (Department of Information and Computing Sciences)
*/
package entityv2
/*
IncomingQueryJSON describes the query coming into the service in JSON format
*/
type IncomingQueryJSON struct {
SaveStateID string `json:"saveStateId"`
Limit int `json:"limit"`
Return []string `json:"return"`
Query []QueryStruct `json:"query"`
Logic interface{} `json:"logic"`
// Entities []QueryEntityStruct `json:"entities"`
// Relations []QueryRelationStruct `json:"relations"`
// GroupBys []QueryGroupByStruct `json:"groupBys"`
MachineLearning []QueryMLStruct `json:"machineLearning"`
// Modifiers []QueryModifierStruct
// Prefix string
/*
QueryMLStruct holds info for machinelearning
*/
type QueryMLStruct struct {
Type string
Parameters []string
}
ID string `json:"id"`
Node NodeStruct `json:"node"`
Label string `json:"label"`
ID string `json:"id"`
// Logic []LogicStruct `json:"logic"`
Filter []FilterStruct `json:"filter"`
Relation RelationStruct `json:"relation"`
SubQuery *QueryStruct `json:"subquery"`
Export []ExportNodeStruct `json:"export"`
ID string `json:"id"`
Attribute string `json:"attribute"`
Attribute string `json:"attribute"`
Operation string `json:"operation"`
Value string `json:"value"`
Label string `json:"label"`
ID string `json:"id"`
Depth QuerySearchDepthStruct `json:"depth"`
Direction string `json:"direction"`
Node *NodeStruct `json:"node"`
}
/*
QuerySearchDepthStruct holds the range of traversals for the relation
*/
type QuerySearchDepthStruct struct {
Min int `json:"min"`
Max int `json:"max"`
// Logic Structs!
//
type LogicStruct struct {
Attribute string `json:"attribute"`
Operation string `json:"operation"`
ID string `json:"id"`