add a example in Scala
split the abstract graph API to a new repo