Gremlin: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
м Bezik переименовал страницу Гремлин (язык программирования) в Gremlin без оставления перенаправления: употребления кириллицей не зафикси…
rq, романизация параллельно с русификацией, источник
Строка 1: Строка 1:
'''Гремлин''' (''Gremlin'')  — [[Полнота по Тьюрингу|полный по тьюрингу]] [[предметно-ориентированный язык]] для обхода и изменения [[Граф (математика)|графов]], разработанный в рамках проекта [[TinkerPop|ТинкерПоп]].
'''Gremlin''' — [[Полнота по Тьюрингу|полный по Тьюрингу]] [[предметно-ориентированный язык]] для обхода и изменения [[Граф (математика)|графов]], разработанный в рамках проекта {{iw|TinkerPop}}. Основан на [[Groovy]], может быть использован совместно с другими языками, функционирующими в среде [[Java Virtual Machine|JVM]] (реализована поддержка [[Java]] и [[Scala (язык программирования)|Scala]]). Доступен в виде библиотеки с открытым исходным кодом, опубликованной под [[Лицензия BSD|лицензией BSD]].


Поддержка языка реализована в нескольких [[Графовая база данных|графовых СУБД]] — [[OrientDB]], [[Neo4j]]<ref >{{cite web
Гремлин основан на [[Groovy|Груви]], являющемся в свою очередь [[Надмножество|надмножеством]] языка [[Java|Джава]], и может быть использован совместно с другими языками [[Java_Virtual_Machine|виртуальной машины Джавы]]. На данный момент Гремлин предоставляет встроенную поддержку для Груви, Джавы и [[Scala (язык программирования)|Скалы]].

Гремлин доступен в виде библиотеки с открытым исходным кодом, опубликованной под лицензией [[Лицензия BSD|BSD]].

== Поддерживаемые базы данных ==

На данный момент Гремлин непосредственно поддерживается следующими базами данных:

* [[OrientDB]]
* [[Neo4j]]<ref >{{cite web
|url=http://neo4j-contrib.github.io/gremlin-plugin/
|url=http://neo4j-contrib.github.io/gremlin-plugin/
|title=Neo4j Gremlin Plugin · neo4j-contrib.github.io
|title=Neo4j Gremlin Plugin · neo4j-contrib.github.io
|accessdate=2012-11-26
|accessdate=2012-11-26
}}</ref><ref >{{cite web
}}</ref>, но на данный момент существуют проблемы с совместимостью между Блюпринтс и версией 2.0<ref >{{cite web
|url=https://groups.google.com/forum/#!topic/neo4j/aaxly1mH2Q4
|url=https://groups.google.com/forum/#!topic/neo4j/aaxly1mH2Q4
|title=Gremlin on Neo4j 2.0? · Группы Google
|title=Gremlin on Neo4j 2.0? · Группы Google
|accessdate=2012-11-26
|accessdate=2012-11-26
}}</ref> <ref >{{cite web
}}</ref><ref >{{cite web
|url=http://stackoverflow.com/questions/19412206/build-failure-when-building-gremlin-plugin-from-source
|url=http://stackoverflow.com/questions/19412206/build-failure-when-building-gremlin-plugin-from-source
|title=Build failure when building gremlin-plugin from source · Stack Overflow
|title=Build failure when building gremlin-plugin from source · Stack Overflow
|accessdate=2012-11-26
|accessdate=2012-11-26
}}</ref>, [[TinkerGraph]], [[Titan (СУБД)|Titan]]<ref >{{cite web
}}</ref>
* [[TinkerGraph]]
* [[Титан (база данных)|Titan]]<ref >{{cite web
|url=https://github.com/thinkaurelius/titan/wiki/Gremlin-Query-Language
|url=https://github.com/thinkaurelius/titan/wiki/Gremlin-Query-Language
|title=Gremlin-Query-Language · thinkaurelius/titan Wiki · GitHub
|title=Gremlin-Query-Language · thinkaurelius/titan Wiki · GitHub
|publisher=Github.com |date= |accessdate=2012-11-26
|publisher=Github.com |date= |accessdate=2012-11-26
}}</ref>. Кроме того, на языке можно работать с графовыми СУБД, поддерживающими [[Blueprints API]] или язык запросов [[Rexster]] (в частности, с СУБД [[DEX (СУБД)|DEX]] и [[Sail RDF]]<ref >{{cite web
}}</ref>

Кроме того, Гремлин может работать с любыми [[Блюпринтс|блюпринтс]]-совместимыми [[Графовая_база_данных|графовыми базами данных]] непосредственно или как встроенный язык запросов сервера баз данных [[Рекстер]].

Базы данных, поддерживающие Гремлин через Блюпринтс/Рекстер:

* [[DEX (база данных)|DEX]]
* [[Sail RDF (база данных)|Sail RDF]] позволяет использовать Гремлин для взаимодействия со [[Resource_Description_Framework|средой описания ресурсов]] и [[Семантическая_паутина|семантической паутиной]]<ref >{{cite web
|url=https://github.com/tinkerpop/gremlin/wiki/LinkedData-Sail
|url=https://github.com/tinkerpop/gremlin/wiki/LinkedData-Sail
|title=LinkedData Sail · tinkerpop/gremlin Wiki · GitHub
|title=LinkedData Sail · tinkerpop/gremlin Wiki · GitHub
|publisher=Github.com |date= |accessdate=2012-11-26
|publisher=Github.com |date= |accessdate=2012-11-26
}}</ref>
}}</ref>.


== Примечания ==
== Примечания ==
{{примечания}}
{{примечания}}

== Литература ==
* {{статья|автор=Florian Holzschuher, René Peinl|заглавие=Performance of graph query languages: comparison of cypher, gremlin and native access in Neo4j|язык=en|издание=Proceedings of the Joint EDBT/ICDT 2013 Workshops (EDBT´13|место=N.Y.|издательство=ACM|год=2013|isbn=978-1-4503-1599-9|doi=10.1145/2457317.2457351}}


== Ссылки ==
== Ссылки ==
* [http://rexster.tinkerpop.com/ Домашняя страница]
* [http://rexster.tinkerpop.com/ Домашняя страница]
* [https://github.com/tinkerpop/gremlin Репозиторий на Гитхабе]
* {{github|tinkerpop/gremlin}}

* [https://github.com/tinkerpop/gremlin/wiki/The-Benefits-of-Gremlin Краткое описание преимуществ Гремлина авторами языка]
{{rq|empty|refless|infobox|check}}
* [http://www.tinkerpop.com/ Страница проекта Тинкерпоп]
* [http://groups.google.com/group/gremlin-users Группа обсуждения Гремлина]


[[Категория:Языки программирования по алфавиту|Языки программирования]]
[[Категория:Языки программирования по алфавиту]]
[[Категория:Предметно-ориентированные языки программирования|Предметно-ориентированные языки программирования]]
[[Категория:Предметно-ориентированные языки программирования]]


{{Базы данных}}
{{Базы данных}}

Версия от 10:38, 27 мая 2015

Gremlin — полный по Тьюрингу предметно-ориентированный язык для обхода и изменения графов, разработанный в рамках проекта TinkerPop[англ.]. Основан на Groovy, может быть использован совместно с другими языками, функционирующими в среде JVM (реализована поддержка Java и Scala). Доступен в виде библиотеки с открытым исходным кодом, опубликованной под лицензией BSD.

Поддержка языка реализована в нескольких графовых СУБД — OrientDB, Neo4j[1][2][3], TinkerGraph, Titan[4]. Кроме того, на языке можно работать с графовыми СУБД, поддерживающими Blueprints API или язык запросов Rexster (в частности, с СУБД DEX и Sail RDF[5].

Примечания

  1. Neo4j Gremlin Plugin · neo4j-contrib.github.io. Дата обращения: 26 ноября 2012.
  2. Gremlin on Neo4j 2.0? · Группы Google. Дата обращения: 26 ноября 2012.
  3. Build failure when building gremlin-plugin from source · Stack Overflow. Дата обращения: 26 ноября 2012.
  4. Gremlin-Query-Language · thinkaurelius/titan Wiki · GitHub. Github.com. Дата обращения: 26 ноября 2012.
  5. LinkedData Sail · tinkerpop/gremlin Wiki · GitHub. Github.com. Дата обращения: 26 ноября 2012.

Литература

  • Florian Holzschuher, René Peinl. Performance of graph query languages: comparison of cypher, gremlin and native access in Neo4j (англ.) // Proceedings of the Joint EDBT/ICDT 2013 Workshops (EDBT´13. — N. Y.: ACM, 2013. — ISBN 978-1-4503-1599-9. — doi:10.1145/2457317.2457351.

Ссылки