tpmkms
Version:
Reusable libraries for Entodicton, a natural language to json converter
2,734 lines (2,733 loc) • 504 kB
JSON
{
"configs": [
"drone is a concept",
"around, forward, left, right, and backward are directions",
"speed and power are properties",
"point is a concept",
"points are nameable orderable and memorable",
{
"apply": "(args) => {\n askForCalibrationDistance(args)\n askForEndTime(args)\n askForStartTime(args)\n\n expectDirection(args)\n expectDistanceForCalibration(args)\n expectCalibrationCompletion(args)\n\n args.config.addSemantic({\n match: ({context, isA}) => isA(context.marker, 'quantity') && isA(context.unit.marker, 'unitPerUnit'),\n apply: async ({context, objects, api, fragments, e}) => {\n // send a command to the drone\n const instantiation = await fragments(\"quantity in meters per second\", { quantity: context })\n const result = await e(instantiation)\n const desired_speed = result.evalue.amount.evalue.evalue\n const desired_power = objects.current.power * (desired_speed / objects.calibration.speed)\n objects.runCommand = true\n objects.current.power = desired_power \n }\n })\n\n args.config.addSemantic({\n match: ({context, objects, isA}) => objects.current.direction && objects.isCalibrated && context.marker == 'controlStart',\n apply: ({context, objects, api}) => {\n objects.runCommand = false \n }\n })\n\n args.config.addSemantic({\n // match: ({context, objects, isA}) => objects.current.direction && objects.isCalibrated && (context.marker == 'controlEnd' || context.marker == 'controlBetween'),\n match: ({context, objects, isA}) => objects.current.direction && objects.isCalibrated && context.marker == 'controlEnd',\n apply: async ({context, objects, api}) => {\n // send a command to the drone\n if (objects.runCommand) {\n // debugger\n await api.sendCommand()\n }\n }\n })\n }"
},
{
"operators": [
"([calibrate])",
"([turn] (direction))",
"([pause] ([number]))",
"([stop] ([drone|])?)",
"([go])",
"([toPoint|to] (point))"
],
"bridges": [
{
"id": "toPoint",
"isA": [
"preposition"
],
"bridge": "{ ...next(operator), operator: operator, point: after[0], interpolate: [{ property: 'operator' }, { property: 'point' }] }",
"semantic": "async ({objects, api, e, context}) => {\n if (api.isCalibrated()) {\n objects.runCommand = true\n const point = await e(context.point)\n objects.current.destination = point.evalue\n }\n }"
},
{
"id": "go"
},
{
"id": "turn",
"isA": [
"verb"
],
"bridge": "{ ...next(operator), direction: after[0], interpolate: [{ context: operator }, { property: 'direction' }] }",
"semantic": "({context, objects, api}) => {\n objects.runCommand = true\n objects.current.direction = context.direction.marker\n }"
},
{
"id": "calibrate",
"isA": [
"verb"
],
"bridge": "{ ...next(operator), interpolate: [{ context: operator }] }",
"semantic": "({context, objects, api, remember}) => {\n objects.current.direction = 'forward'\n const startTime = api.forward(objects.current.power)\n objects.calibration.startTime = startTime\n\n const ordinal = api.nextOrdinal()\n remember({ marker: 'point', ordinal, point: { x: 0, y: 0 }, description: \"calibration start\" })\n objects.current.ordinal = ordinal\n }"
},
{
"id": "pause",
"isA": [
"verb"
],
"bridge": "{ ...operator, time: after[0], interpolate: [{ context: operator }, { property: 'time' }] }",
"semantic": "async ({context}) => {\n // why doesn't nodejs add a sleep function. I always have to look up how to do this because its not fucking memorable.\n // function sleep(ms) { return new Promise(r => setTimeout(r, ms)); }\n // await sleep(context.time.value*1000) \n }"
},
{
"id": "stop",
"isA": [
"verb"
],
"optional": {
"1": "{ marker: 'drone' }"
},
"bridge": "{ ...next(operator), object: after[0], interpolate: [{ context: operator }, { property: 'object' }] }",
"semantic": "async ({remember, context, objects, api, say}) => {\n if (!objects.calibration.startTime) {\n return // ignore\n }\n if (objects.calibration.speed) {\n /*\n const stopTime = api.stop()\n const ordinal = api.nextOrdinal()\n const point = api.currentPoint()\n remember({ marker: 'point', ordinal, point })\n objects.current.ordinal = ordinal\n */\n api.stop()\n await api.markCurrentPoint()\n } else {\n const stopTime = api.stop()\n objects.calibration.endTime = stopTime\n objects.calibration.duration = (objects.calibration.endTime - objects.calibration.startTime)/1000\n }\n }"
}
],
"generators": [
{
"match": "({context}) => context.marker == 'help' && !context.paraphrase && context.isResponse",
"apply": "() => ''"
}
],
"semantics": []
}
],
"resultss": [
{
"hierarchy": [
[
"a",
"article",
false
],
[
"adjective",
"adjective",
false
],
[
"all",
"quantifier",
false
],
[
"amount",
"concept",
false
],
[
"amount",
"hierarchyAble",
false
],
[
"amount",
"isEdee",
false
],
[
"amount",
"isEder",
false
],
[
"amount",
"object",
false
],
[
"amount",
"property",
false
],
[
"amount",
"queryable",
false
],
[
"amount",
"theAble",
false
],
[
"amount",
"thisAble",
false
],
[
"ampm",
"adjective",
false
],
[
"article",
"article",
false
],
[
"ascending",
"hierarchyAble",
false
],
[
"ascending",
"isEdee",
false
],
[
"ascending",
"isEder",
false
],
[
"ascending",
"object",
false
],
[
"ascending",
"property",
false
],
[
"ascending",
"queryable",
false
],
[
"ascending",
"sort_ordering",
false
],
[
"ascending",
"theAble",
false
],
[
"ascending",
"thisAble",
false
],
[
"atTime",
"preposition",
false
],
[
"between",
"preposition",
false
],
[
"calculate",
"verb",
false
],
[
"call",
"verb",
false
],
[
"canBeDoQuestion",
"canBeDoQuestion",
false
],
[
"canBeQuestion",
"canBeQuestion",
false
],
[
"centimeter",
"hierarchyAble",
false
],
[
"centimeter",
"isEdee",
false
],
[
"centimeter",
"isEder",
false
],
[
"centimeter",
"metric_unit",
false
],
[
"centimeter",
"object",
false
],
[
"centimeter",
"property",
false
],
[
"centimeter",
"queryable",
false
],
[
"centimeter",
"theAble",
false
],
[
"centimeter",
"thisAble",
false
],
[
"centimeter",
"unit_length",
false
],
[
"comparable",
"theAble",
false
],
[
"concept",
"queryable",
false
],
[
"concept",
"theAble",
false
],
[
"condition",
"concept",
false
],
[
"condition",
"hierarchyAble",
false
],
[
"condition",
"isEdee",
false
],
[
"condition",
"isEder",
false
],
[
"condition",
"object",
false
],
[
"condition",
"property",
false
],
[
"condition",
"queryable",
false
],
[
"condition",
"theAble",
false
],
[
"condition",
"thisAble",
false
],
[
"convertToUnits",
"expression",
false
],
[
"convertToUnits",
"queryable",
false
],
[
"convertToUnits",
"testingValue",
false
],
[
"countable",
"hierarchyAble",
false
],
[
"deletable",
"deletable",
false
],
[
"delete",
"verb",
false
],
[
"descending",
"hierarchyAble",
false
],
[
"descending",
"isEdee",
false
],
[
"descending",
"isEder",
false
],
[
"descending",
"object",
false
],
[
"descending",
"property",
false
],
[
"descending",
"queryable",
false
],
[
"descending",
"sort_ordering",
false
],
[
"descending",
"theAble",
false
],
[
"descending",
"thisAble",
false
],
[
"dimension",
"concept",
false
],
[
"dimension",
"hierarchyAble",
false
],
[
"dimension",
"isEdee",
false
],
[
"dimension",
"isEder",
false
],
[
"dimension",
"object",
false
],
[
"dimension",
"property",
false
],
[
"dimension",
"queryable",
false
],
[
"dimension",
"theAble",
false
],
[
"dimension",
"thisAble",
false
],
[
"distributable",
"queryable",
false
],
[
"divideByExpression",
"mathematicalExpression",
false
],
[
"divideByOperator",
"mathematical_operator",
false
],
[
"doubleQuote",
"queryable",
false
],
[
"each",
"article",
false
],
[
"event",
"event",
false
],
[
"every",
"article",
false
],
[
"expression",
"expression",
false
],
[
"foot",
"hierarchyAble",
false
],
[
"foot",
"imperial_unit",
false
],
[
"foot",
"isEdee",
false
],
[
"foot",
"isEder",
false
],
[
"foot",
"object",
false
],
[
"foot",
"property",
false
],
[
"foot",
"queryable",
false
],
[
"foot",
"theAble",
false
],
[
"foot",
"thisAble",
false
],
[
"foot",
"unit_length",
false
],
[
"forQuantity",
"preposition",
false
],
[
"forVariable",
"preposition",
false
],
[
"formula",
"concept",
false
],
[
"formula",
"hierarchyAble",
false
],
[
"formula",
"isEdee",
false
],
[
"formula",
"isEder",
false
],
[
"formula",
"object",
false
],
[
"formula",
"property",
false
],
[
"formula",
"queryable",
false
],
[
"formula",
"theAble",
false
],
[
"formula",
"thisAble",
false
],
[
"formulaForVariable",
"preposition",
false
],
[
"formulaForVariable",
"queryable",
false
],
[
"hasCountOfPieces",
"countable",
false
],
[
"have",
"canBeDoQuestion",
false
],
[
"have",
"canBeQuestion",
false
],
[
"hierarchyAble",
"queryable",
false
],
[
"highest",
"hierarchyAble",
false
],
[
"highest",
"isEdee",
false
],
[
"highest",
"isEder",
false
],
[
"highest",
"object",
false
],
[
"highest",
"property",
false
],
[
"highest",
"queryable",
false
],
[
"highest",
"superlative",
false
],
[
"highest",
"theAble",
false
],
[
"highest",
"thisAble",
false
],
[
"hour",
"hierarchyAble",
false
],
[
"hour",
"isEdee",
false
],
[
"hour",
"isEder",
false
],
[
"hour",
"object",
false
],
[
"hour",
"property",
false
],
[
"hour",
"queryable",
false
],
[
"hour",
"theAble",
false
],
[
"hour",
"thisAble",
false
],
[
"hour",
"unit_time",
false
],
[
"hourMinutes",
"timePoint",
false
],
[
"ifAble",
"ifAble",
false
],
[
"imperial",
"hierarchyAble",
false
],
[
"imperial",
"isEdee",
false
],
[
"imperial",
"isEder",
false
],
[
"imperial",
"object",
false
],
[
"imperial",
"property",
false
],
[
"imperial",
"queryable",
false
],
[
"imperial",
"system_modifier",
false
],
[
"imperial",
"theAble",
false
],
[
"imperial",
"unit_modifier",
false
],
[
"imperial_system",
"adjective",
true
],
[
"imperial_system",
"concept",
false
],
[
"imperial_system",
"hierarchyAble",
false
],
[
"imperial_system",
"isEdee",
false
],
[
"imperial_system",
"isEder",
false
],
[
"imperial_system",
"measurement_system",
false
],
[
"imperial_system",
"object",
false
],
[
"imperial_system",
"property",
false
],
[
"imperial_system",
"queryable",
false
],
[
"imperial_system",
"system",
false
],
[
"imperial_system",
"theAble",
false
],
[
"imperial_unit",
"adjective",
true
],
[
"imperial_unit",
"concept",
false
],
[
"imperial_unit",
"hierarchyAble",
false
],
[
"imperial_unit",
"isEdee",
false
],
[
"imperial_unit",
"isEder",
false
],
[
"imperial_unit",
"object",
false
],
[
"imperial_unit",
"property",
false
],
[
"imperial_unit",
"queryable",
false
],
[
"imperial_unit",
"theAble",
false
],
[
"imperial_unit",
"unit",
false
],
[
"inch",
"hierarchyAble",
false
],
[
"inch",
"imperial_unit",
false
],
[
"inch",
"isEdee",
false
],
[
"inch",
"isEder",
false
],
[
"inch",
"object",
false
],
[
"inch",
"property",
false
],
[
"inch",
"queryable",
false
],
[
"inch",
"theAble",
false
],
[
"inch",
"thisAble",
false
],
[
"inch",
"unit_length",
false
],
[
"integer",
"number",
false
],
[
"is",
"canBeQuestion",
false
],
[
"is",
"event",
false
],
[
"is",
"verb",
false
],
[
"isEdee",
"isEdee",
false
],
[
"isEder",
"isEder",
false
],
[
"isQuery",
"verb",
false
],
[
"it",
"pronoun",
false
],
[
"it",
"queryable",
false
],
[
"it",
"thisitthat",
false
],
[
"it",
"toAble",
false
],
[
"length",
"dimension",
false
],
[
"listable",
"theAble",
false
],
[
"lowest",
"hierarchyAble",
false
],
[
"lowest",
"isEdee",
false
],
[
"lowest",
"isEder",
false
],
[
"lowest",
"object",
false
],
[
"lowest",
"property",
false
],
[
"lowest",
"queryable",
false
],
[
"lowest",
"superlative",
false
],
[
"lowest",
"theAble",
false
],
[
"lowest",
"thisAble",
false
],
[
"mathematical",
"hierarchyAble",
false
],
[
"mathematical",
"isEdee",
false
],
[
"mathematical",
"isEder",
false
],
[
"mathematical",
"object",
false
],
[
"mathematical",
"operator_modifier",
false
],
[
"mathematical",
"property",
false
],
[
"mathematical",
"queryable",
false
],
[
"mathematical",
"theAble",
false
],
[
"mathematicalExpression",
"concept",
false
],
[
"mathematicalExpression",
"expression",
false
],
[
"mathematical_operator",
"adjective",
true
],
[
"mathematical_operator",
"concept",
false
],
[
"mathematical_operator",
"hierarchyAble",
false
],
[
"mathematical_operator",
"isEdee",
false
],
[
"mathematical_operator",
"isEder",
false
],
[
"mathematical_operator",
"object",
false
],
[
"mathematical_operator",
"operator",
false
],
[
"mathematical_operator",
"property",
false
],
[
"mathematical_operator",
"queryable",
false
],
[
"mathematical_operator",
"theAble",
false
],
[
"maximum",
"hierarchyAble",
false
],
[
"maximum",
"isEdee",
false
],
[
"maximum",
"isEder",
false
],
[
"maximum",
"object",
false
],
[
"maximum",
"property",
false
],
[
"maximum",
"queryable",
false
],
[
"maximum",
"superlative",
false
],
[
"maximum",
"theAble",
false
],
[
"maximum",
"thisAble",
false
],
[
"measurement",
"hierarchyAble",
false
],
[
"measurement",
"isEdee",
false
],
[
"measurement",
"isEder",
false
],
[
"measurement",
"object",
false
],
[
"measurement",
"property",
false
],
[
"measurement",
"queryable",
false
],
[
"measurement",
"system_modifier",
false
],
[
"measurement",
"theAble",
false
],
[
"measurement",
"unit_modifier",
false
],
[
"measurement_system",
"adjective",
true
],
[
"measurement_system",
"concept",
false
],
[
"measurement_system",
"hierarchyAble",
false
],
[
"measurement_system",
"isEdee",
false
],
[
"measurement_system",
"isEder",
false
],
[
"measurement_system",
"object",
false
],
[
"measurement_system",
"property",
false
],
[
"measurement_system",
"queryable",
false
],
[
"measurement_system",
"system",
false
],
[
"measurement_system",
"theAble",
false
],
[
"measurement_unit",
"adjective",
true
],
[
"measurement_unit",
"concept",
false
],
[
"measurement_unit",
"hierarchyAble",
false
],
[
"measurement_unit",
"isEdee",
false
],
[
"measurement_unit",
"isEder",
false
],
[
"measurement_unit",
"object",
false
],
[
"measurement_unit",
"property",
false
],
[
"measurement_unit",
"queryable",
false
],
[
"measurement_unit",
"theAble",
false
],
[
"measurement_unit",
"unit",
false
],
[
"memorable",
"deletable",
false
],
[
"memorable",
"theAble",
false
],
[
"meter",
"hierarchyAble",
false
],
[
"meter",
"isEdee",
false
],
[
"meter",
"isEder",
false
],
[
"meter",
"metric_unit",
false
],
[
"meter",
"object",
false
],
[
"meter",
"property",
false
],
[
"meter",
"queryable",
false
],
[
"meter",
"theAble",
false
],
[
"meter",
"thisAble",
false
],
[
"meter",
"unit_length",
false
],
[
"metric",
"hierarchyAble",
false
],
[
"metric",
"isEdee",
false
],
[
"metric",
"isEder",
false
],
[
"metric",
"object",
false
],
[
"metric",
"property",
false
],
[
"metric",
"queryable",
false
],
[
"metric",
"system_modifier",
false
],
[
"metric",
"theAble",
false
],
[
"metric",
"unit_modifier",
false
],
[
"metric_system",
"adjective",
true
],
[
"metric_system",
"concept",
false
],
[
"metric_system",
"hierarchyAble",
false
],
[
"metric_system",
"isEdee",
false
],
[
"metric_system",
"isEder",
false
],
[
"metric_system",
"measurement_system",
false
],
[
"metric_system",
"object",
false
],
[
"metric_system",
"property",
false
],
[
"metric_system",
"queryable",
false
],
[
"metric_system",
"system",
false
],
[
"metric_system",
"theAble",
false
],
[
"metric_unit",
"adjective",
true
],
[
"metric_unit",
"concept",
false
],
[
"metric_unit",
"hierarchyAble",
false
],
[
"metric_unit",
"isEdee",
false
],
[
"metric_unit",
"isEder",
false
],
[
"metric_unit",
"object",
false
],
[
"metric_unit",
"property",
false
],
[
"metric_unit",
"queryable",
false
],
[
"metric_unit",
"theAble",
false
],
[
"metric_unit",
"unit",
false
],
[
"mile",
"hierarchyAble",
false
],
[
"mile",
"isEdee",
false
],
[
"mile",
"isEder",
false
],
[
"mile",
"object",
false
],
[
"mile",
"property",
false
],
[
"mile",
"queryable",
false
],
[
"mile",
"theAble",
false
],
[
"mile",
"thisAble",
false
],
[
"mile",
"unit_length",
false
],
[
"millimeter",
"hierarchyAble",
false
],
[
"millimeter",
"isEdee",
false
],
[
"millimeter",
"isEder",
false
],
[
"millimeter",
"metric_unit",
false
],
[
"millimeter",
"object",
false
],
[
"millimeter",
"property",
false
],
[
"millimeter",
"queryable",
false
],
[
"millimeter",
"theAble",
false
],
[
"millimeter",
"thisAble",
false
],
[
"millimeter",
"unit_length",
false
],
[
"millisecond",
"hierarchyAble",
false
],
[
"millisecond",
"isEdee",
false
],
[
"millisecond",
"isEder",
false
],
[
"millisecond",
"object",
false
],
[
"millisecond",
"property",
false
],
[
"millisecond",
"queryable",
false
],
[
"millisecond",
"theAble",
false
],
[
"millisecond",
"thisAble",
false
],
[
"millisecond",
"unit_time",
false
],
[
"minimum",
"hierarchyAble",
false
],
[
"minimum",
"isEdee",
false
],
[
"minimum",
"isEder",
false
],
[
"minimum",
"object",
false
],
[
"minimum",
"property",
false
],
[
"minimum",
"queryable",
false
],
[
"minimum",
"superlative",
false
],
[
"minimum",
"theAble",
false
],
[
"minimum",
"thisAble",
false
],
[
"minusExpression",
"mathematicalExpression",
false
],
[
"minusOperator",
"mathematical_operator",
false
],
[
"minute",
"hierarchyAble",
false
],
[
"minute",
"isEdee",
false
],
[
"minute",
"isEder",
false
],
[
"minute",
"object",
false
],
[
"minute",
"property",
false
],
[
"minute",
"queryable",
false
],
[
"minute",
"theAble",
false
],
[
"minute",
"thisAble",
false
],
[
"minute",
"unit_time",
false
],
[
"modifies",
"verb",
false
],
[
"nameable",
"nameable",
false
],
[
"negatable",
"queryable",
false
],
[
"noun",
"theAble",
false
],
[
"noun",
"thisAble",
false
],
[
"number",
"expression",
false
],
[
"number",
"quantifier",
false
],
[
"number",
"queryable",
false
],
[
"object",
"listable",
false
],
[
"object",
"queryable",
false
],
[
"object",
"theAble",
false
],
[
"operator",
"concept",
false
],
[
"operator",
"hierarchyAble",
false
],
[
"operator",
"isEdee",
false
],
[
"operator",
"isEder",
false
],
[
"operator",
"object",
false
],
[
"operator",
"property",
false
],
[
"operator",
"queryable",
false
],
[
"operator",
"theAble",
false
],
[
"operator_modifier",
"adjective",
false
],
[
"orAble",
"ifAble",
false
],
[
"orderable",
"queryable",
false
],
[
"orderable",
"theAble",
false
],
[
"ordering",
"concept",
false
],
[
"ordering",
"hierarchyAble",
false
],
[
"ordering",
"isEdee",
false
],
[
"ordering",
"isEder",
false
],
[
"ordering",
"object",
false
],
[
"ordering",
"property",
false
],
[
"ordering",
"queryable",
false
],
[
"ordering",
"theAble",
false
],
[
"ordering_modifier",
"adjective",
false
],
[
"ordinal",
"listable",
false
],
[
"ordinalOnOrdered",
"adjective",
false
],
[
"plusExpression",
"mathematicalExpression",
false
],
[
"plusOperator",
"mathematical_operator",
false
],
[
"preferredUnits",
"verb",
false
],
[
"preposition",
"preposition",
false
],
[
"pronoun",
"pronoun",
false
],
[
"property",
"queryable",
false
],
[
"property",
"theAble",
false
],
[
"propertyOf",
"preposition",
false
],
[
"punctuation",
"punctuation",
false
],
[
"quantifier",
"quantifier",
false
],
[
"quantity",
"noun",
false
],
[
"queryable",
"listable",
false
],
[
"questionMark",
"punctuation",
false
],
[
"readonly",
"queryable",
false
],
[
"reason",
"queryable",
false
],
[
"reason",
"theAble",
false
],
[
"recall",
"verb",
false
],
[
"remember",
"verb",
false
],
[
"second",
"hierarchyAble",
false
],
[
"second",
"isEdee",
false
],
[
"second",
"isEder",
false
],
[
"second",
"object",
false
],
[
"second",
"property",
false
],
[
"second",
"queryable",
false
],
[
"second",
"theAble",
false
],
[
"second",
"thisAble",
false
],
[
"second",
"unit_time",
false
],
[
"sort",
"hierarchyAble",
false
],
[
"sort",
"isEdee",
false
],
[
"sort",
"isEder",
false
],
[
"sort",
"object",
false
],
[
"sort",
"ordering_modifier",
false
],
[
"sort",
"property",
false
],
[
"sort",
"queryable",
false
],
[
"sort",
"theAble",
false
],
[
"sortOrdering",
"adjective",
false
],
[
"sort_ordering",
"adjective",
true
],
[
"sort_ordering",
"concept",
false
],
[
"sort_ordering",
"hierarchyAble",
false
],
[
"sort_ordering",
"isEdee",
false
],
[
"sort_ordering",
"isEder",
false
],
[
"sort_ordering",
"object",
false
],
[
"sort_ordering",
"ordering",
false
],
[
"sort_ordering",
"property",
false
],
[
"sort_ordering",
"queryable",
false
],
[
"sort_ordering",
"theAble",
false
],
[
"stm_before",
"adjective",
false
],
[
"stm_current",
"adjective",
false
],
[
"stm_previous",
"adjective",
false
],
[
"superlative",
"condition",
false
],
[
"superlative",
"hierarchyAble",
false
],
[
"superlative",
"isEdee",
false
],
[
"superlative",
"isEder",
false
],
[
"superlative",
"object",
false
],
[
"superlative",
"property",
false
],
[
"superlative",
"queryable",
false
],
[
"superlative",
"theAble",
false
],
[
"superlative",
"thisAble",
false
],
[
"system",
"concept",
false
],
[
"system",
"hierarchyAble",
false
],
[
"system",
"isEdee",
false
],
[
"system",
"isEder",
false
],
[
"system",
"object",
false
],
[
"system",
"property",
false
],
[
"system",
"queryable",
false
],
[
"system",
"theAble",
false
],
[
"system_modifier",
"adjective",
false
],
[
"testingValue",
"testingValue",
false
],
[
"that",
"thisitthat",
false
],
[
"the",
"article",
false
],
[
"theAble",
"queryable",
false
],
[
"this",
"pronoun",
false
],
[
"this",
"queryable",
false
],
[
"this",
"thisitthat",
false
],
[
"thisAble",
"thisAble",
false
],
[
"thisitthat",
"nameable",
false
],
[
"thisitthat",
"queryable",
false
],
[
"timePoint",
"noun",
false
],
[
"timesExpression",
"mathematicalExpression",
false
],
[
"timesOperator",
"mathematical_operator",
false
],
[
"to",
"preposition",
false
],
[
"toAble",
"toAble",
false
],
[
"type",
"property",
false
],
[
"type",
"whatAble",
false
],
[
"unit",
"concept",
false
],
[
"unit",
"hierarchyAble",
false
],
[
"unit",
"isEdee",
false
],
[
"unit",
"isEder",
false
],
[
"unit",
"mathematicalExpression",
false
],
[
"unit",
"object",
false
],
[
"unit",
"property",
false
],
[
"unit",
"queryable",
false
],
[
"unit",
"theAble",
false
],
[
"unitPerUnit",
"unit",
false
],
[
"unit_length",
"hierarchyAble",
false
],
[
"unit_length",
"isEdee",
false
],
[
"unit_length",
"isEder",
false
],
[
"unit_length",
"object",
false
],
[
"unit_length",
"property",
false
],
[
"unit_length",
"queryable",
false
],
[
"unit_length",
"theAble",
false
],
[
"unit_length",
"thisAble",
false
],
[
"unit_length",
"unit",
false
],
[
"unit_modifier",
"adjective",
false
],
[
"unit_time",
"hierarchyAble",
false
],
[
"unit_time",
"isEdee",
false
],
[
"unit_time",
"isEder",
false
],
[
"unit_time",
"object",
false
],
[
"unit_time",
"property",
false
],
[
"unit_time",
"queryable",
false
],
[
"unit_time",
"theAble",
false
],
[
"unit_time",
"thisAble",
false
],
[
"unit_time",
"unit",
false
],
[
"unknown",
"hierarchyAble",
false
],
[
"useMeasurementSystem",
"verb",
false
],
[
"useUnits",
"verb",
false
],
[
"verb",
"verb",
false
],
[
"what",
"object",
false
],
[
"what",
"queryable",
false
],
[
"whatAble",
"queryable",
false
],
[
"whose",
"object",
false
],
[
"x",
"number",
false
],
[
"xfx",
"queryable",
false
],
[
"y",
"number",
false
],
[
"year",
"hierarchyAble",
false
],
[
"year",
"isEdee",
false
],
[
"year",
"isEder",
false
],
[
"year",
"object",
false
],
[
"year",
"property",
false
],
[
"year",
"queryable",
false
],
[
"year",
"theAble",
false
],
[
"year",
"thisAble",
false
],
[
"year",
"unit_time",
false
]
],
"metadata": {
"opChoices": [
{
"op": [
"unknown",
0
],
"ops": [
[
"a",
0
],
[
"is",
0
],
[
"unknown",
0
]
],
"counter": 1
},
{
"op": [
"a",
0
],
"ops": [
[
"a",
0
],
[
"is",
0
]
],
"counter": 2
},
{
"op": [
"is",
0
],
"ops": [
[
"is",
0
]
],
"counter": 3
},
{
"op": [
"is",
1
],
"ops": [
[
"is",
1
]
],
"counter": 4
}
]
},
"trace": "undefined",
"contexts": [
{
"number": "one",
"text": "drone is a concept",
"marker": "is",
"word": "is",
"range": {
"start": 0,
"end": 17
},
"one": {
"number": "one",
"value": "drone",
"unknown": true,
"text": "drone",
"marker": "unknown",
"word": "drone",
"range": {
"start": 0,
"end": 4
},
"dead": true,
"types": [
"unknown"
],
"level": 0
},
"two": {
"marker": "concept",
"value": "concept",
"default": true,
"text": "a concept",
"dead": true,
"word": "concept",
"range": {
"start": 9,
"end": 17
},
"types": [
"concept"
],
"pullFromContext": false,
"instance": true,
"concept": true,
"number": "one",
"wantsValue": true,
"determiner": {
"marker": "a",
"default": true,