Подтвердить что ты не робот

Графическая библиотека для scala

Есть ли хорошая библиотека (или оболочка для библиотеки Java) для графиков и/или алгоритмов графа в scala?

Этот один кажется совершенно мертвым. Это является примером для алгоритма Дейкстры в scala, но я ищу библиотеку a-la JGraphT.

4b9b3361

Ответ 1

Мы разработали небольшую библиотеку графов для аппаратного проекта. Вы можете посмотреть на него здесь. Это не чисто функциональный, а не график на молнии, но делает хорошую работу для нас. Вы получаете также изменяемые и неизменные графики.

Вот простой пример создания графика:

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

Поиск SCC и подкомпонентов

G.sccs foreach println
G.sccs map { _.entry } foreach println
G.sccs filter { _.canSearch } map { _.subcomponents } foreach { _ foreach println }

Прослеживание

for(x <- G.topsort) println(x)
for(x <- G.dft(y)) println(x)

Текущий недостаток заключается в том, что библиотека поддерживает только типы инвариантов, а не полную для всей библиотеки графов.

Ответ 2

Существует текущий вызов для комментариев, чтобы создать scala.collection.Graph встроенный в библиотеку Scala.

Кроме того, как насчет разработки оболочки Scala для JGraphT?

UPDATE

График Scala теперь выходит за рамки обсуждения и не работает.

Ответ 3

Почему бы не Jung? а также Piccolo2D для графики? (оба основаны на JVM).

Ответ 4

Gremlin - Scala - тонкая тонкая оболочка Scala для Gremlin, граф DSL для перемещения нескольких графических баз данных, включая Neo4j, OrientDB, DEX, InfiniteGraph, Titan, серверный сервер Rexster и хранилища RDF, совместимые с Sesame 2.0.

https://github.com/mpollmeier/gremlin-scala

Примечание: я предвзятый, поскольку я автор;)