// DUMP_SCHEMAS import org.jetbrains.kotlinx.dataframe.* import org.jetbrains.kotlinx.dataframe.annotations.* import org.jetbrains.kotlinx.dataframe.api.* import org.jetbrains.kotlinx.dataframe.io.* @DataSchema data class Person(val firstName: String, val lastName: String, val age: Int, val city: String?) @DataSchema data class Group(val id: String, val participants: List) fun test() { val df = listOf( Group("1", listOf( Person("Alice", "Cooper", 15, "London"), Person("Bob", "Dylan", 45, "Dubai") )), Group("2", listOf( Person("Charlie", "Daniels", 20, "Moscow"), Person("Charlie", "Chaplin", 40, "Milan"), )), ).toDataFrame(maxDepth = 2) // For operator get call schema is reported for the whole expression, so on df two schemas are reported df.participants[0] df.participants.first() df.explode { participants }.participants df.participants[0].age // DataRow df[0].participants.age // GroupBy df.explode { participants }.groupBy { participants.lastName } fun test() = dataFrameOf("a", "b")(1, 2) }