linea - biblioteca de gráficos para scala
Gremlin-Scala es una delgada y delgada envoltura Scala para Gremlin, una gráfica DSL para recorrer una serie de bases de datos de gráficos que incluyen Neo4j, OrientDB, DEX, InfiniteGraph, Titan, Rexster y las tiendas RDF compatibles con Sesame 2.0.
https://github.com/mpollmeier/gremlin-scala
Nota: soy parcial porque soy el autor;)
Hay una llamada actual de comentarios para crear un scala.collection.Graph incorporado en la biblioteca de Scala.
Además, ¿qué hay de desarrollar un envoltorio Scala para JGraphT?
ACTUALIZAR
Graph para Scala ahora está más allá de la etapa de discusión y es un trabajo en progreso.
Hemos desarrollado una pequeña biblioteca de gráficos para el proyecto apparat. Puedes echarle un vistazo here . No es puramente funcional y no es un gráfico de cremallera, pero hace un buen trabajo para nosotros. También obtienes gráficos mutables e inmutables.
Aquí hay un ejemplo simple para la creación de gráficos:
implicit val factory = DefaultEdge[String](_, _)
val G = Graph(
"Entry" -> "A",
"A" -> "B",
"B" -> "C",
"B" -> "D",
"D" -> "F",
"F" -> "E",
"E" -> "F",
"E" -> "C",
"C" -> "A",
"C" -> "Exit")
G.dotExport to Console.out
Encontrar SCC y subcomponentes
G.sccs foreach println
G.sccs map { _.entry } foreach println
G.sccs filter { _.canSearch } map { _.subcomponents } foreach { _ foreach println }
Traversal
for(x <- G.topsort) println(x)
for(x <- G.dft(y)) println(x)
El inconveniente actual es que la biblioteca solo admite tipos invariables y no cuenta completa para una biblioteca de gráficos completa.