Skip to content

Step #2 : Query results superficial typing

sadache edited this page Oct 18, 2012 · 1 revision

Java querying

results = Peer.q("[:find ?c :where [?c :community/name]]", conn.db());
Long id = (Long) ((List)results.iterator().next()).get(0);
Entity entity = conn.db().entity(id);
System.out.println(entity.keySet());

Scala collecting typed data (runtime verification)

query("""
  [ :find ?e ?n 
    :where  [ ?e :person/name ?n ] 
    [ ?e :person/character :person.character/violent ]
  ]
""").collect {
  case Res(e: Long, n: String) => 
    val entity = database.entity(e)
    println("Q1 entity: "+ e + " name:"+n+ " - e:" + entity.get(":person/character"))
}