예제 #1
0
def get_predicate_boolean(expression: nlpql_parserParser.PredicateBooleanContext, define_name, final):
    print(expression)
    operator = ""
    entities = list()

    op = PhenotypeOperations(define_name, operator, entities, final=final, raw_text=get_pretty_text(expression))
    return op
예제 #2
0
def get_not_expression(expression: nlpql_parserParser.ExpressionContext, define_name, final):
    print(expression)
    entities = list()
    operator = ""

    op = PhenotypeOperations(define_name, operator, entities, final=final, raw_text=get_pretty_text(expression))
    return op
예제 #3
0
def get_logical_expression(expression: nlpql_parserParser.ExpressionContext, define_name, final):
    print(expression)
    entities = list()
    operator = list()

    for c in expression.getChildren():
        if type(c) == nlpql_parserParser.ExpressionContext:
            get_generic_expression(c, entities, operator)

        elif type(c) == nlpql_parserParser.LogicalOperatorContext:
            operator.append(c.getText())

    op = PhenotypeOperations(define_name, operator[0], entities, final=final, raw_text=get_pretty_text(expression))
    return op
예제 #4
0
def get_predicate_expression(expression: nlpql_parserParser.PredicateContext, define_name, final):
    print(expression)
    entities = list()
    operator = ""
    for c in expression.getChildren():
        if is_operator(c):
            operator = c.getText().strip('"')
        elif type(c) == nlpql_parserParser.PredicateContext:
            pc = get_predicate_context(c)
            if pc:
                if type(pc) == list:
                    entities.extend(pc)
                else:
                    entities.append(pc)

    op = PhenotypeOperations(define_name, operator, entities, final=final, raw_text=get_pretty_text(expression))
    return op