INNER CODE UNIT · Kotlin

pred

neo4j-graphql/neo4j-graphql · src/main/kotlin/org/neo4j/graphql/CypherGenerator.kt:107

            val pred = CompoundPredicate(value.map { it -> resolvePredicate(it.key.toString(), it.value,relMetaData)}).toExpression(other)
            return "$not $prefix(${cond} IN [(`$variable`)$left-[:`${rel.type}`]-$right(`$other`) | $pred] WHERE ${cond})"
        }
    }

    fun where(field: Field, variable: String, md: MetaData, orderBys: MutableList<Pair<String,Boolean>>, parameters: Map<String, Any>): String {
        val filterPredicates = mutableListOf<Predicate>()
        val predicates = field.arguments.mapNotNull {
            val argName = it.name
            val argValue = it.value
            val value : Any? = if (argValue is VariableReference) parameters[argValue.name] else argValue.extract()
            when (argName) {
                "filter" -> {
                    if (value is Map<*,*>) filterPredicates.add(CompoundPredicate(value.map { (k,v) -> toExpression(k.toString(), v, md) }, "AND"))
                    null
                }
                "orderBy" -> {
                    extractOrderByEnum(it, orderBys, parameters)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…