New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate all functions to User Defined Functions for Neo4j 3.1 #144

jexp opened this Issue Sep 12, 2016 · 0 comments


None yet
1 participant

jexp commented Sep 12, 2016

On branch 3.1 we want to migrate all procedures that are actually functions to the brand new user-defined functions API.

That includes all conversion, math and partially procedures that create new data structures like maps etc.

See: neo4j/neo4j#7851

A incomplete list of procedures to convert:

  • apoc.cache.Static Stream getAll(@name("prefix") String prefix)
  • apoc.coll.Coll Stream contains(@name("coll") List coll, @name("value") Object value)
  • apoc.coll.Coll Stream containsAll(@name("coll") List coll, @name("values") List values)
  • apoc.coll.Coll Stream containsSorted(@name("coll") List coll, @name("value") Object value)
  • apoc.coll.Coll Stream containsAllSorted(@name("coll") List coll, @name("values") List values)
  • apoc.convert.Convert Stream toMap(@name("map") Object map)
  • apoc.convert.Convert Stream toString(@name("string") Object string)
  • apoc.convert.Convert Stream toBoolean(@name("bool") Object bool)
  • apoc.convert.Json Stream toJson(@name("value") Object value)
  • apoc.convert.Json Stream fromJsonMap(@name("map") String value)
  • apoc.convert.Json Stream toTree(@name("paths") List paths)
  • Stream domain(final @name("url_or_email_address") String value)
  • Stream formatDefault(final @name("time") long time, @name("unit") String unit)
  • Stream format(final @name("time") long time, @name("unit") String unit, @name("format") String format)
  • Stream formatTimeZone(final @name("time") long time, @name("unit") String unit, @name("format") String format, @name("timezone") String timezone)
  • Stream parse(final @name("millis") long millis, final @name("pattern") String pattern)
  • Stream fromPairs(@name("pairs") List<List> pairs)
  • Stream fromLists(@name("keys") List keys, @name("values") List values)
  • Stream fromValues(@name("values") List values)
  • Stream merge(@name("first") Map<String,Object> first, @name("second") Map<String,Object> second)
  • Stream setKey(@name("map") Map<String,Object> map, @name("key") String key, @name("value") Object value)
  • Stream setEntry(@name("map") Map<String,Object> map, @name("key") String key, @name("value") Object value)
  • Stream setPairs(@name("map") Map<String,Object> map, @name("pairs") List<List> pairs)
  • Stream setLists(@name("map") Map<String,Object> map, @name("keys") List keys, @name("values") List values)
  • Stream setValues(@name("map") Map<String,Object> map, @name("pairs") List pairs)
  • Stream removeKey(@name("map") Map<String,Object> map, @name("key") String key)
  • Stream removeKeys(@name("map") Map<String,Object> map, @name("keys") List keys)
  • Stream clean(@name("map") Map<String,Object> map, @name("keys") List keys, @name("values") List values)
  • Stream flatten(@name("map") Map<String, Object> map)
  • apoc.meta.Meta Stream type(@name("value") Object value)
  • apoc.meta.Meta Stream types(@name("properties") Object target)
  • apoc.meta.Meta Stream isType(@name("value") Object value, @name("type") String type)
  • public Stream format(final @name("number") Object number)
  • public Stream formatByPattern(final @name("number") Object number, final @name("pattern") String pattern)
  • public Stream formatByLanguage(final @name("number") Object number, final @name("lang") String lang)
  • public Stream formatByPatternAndLanguage(final @name("number") Object number, final @name("pattern") String pattern, final @name("lang") String lang)
  • apoc.text.Phonetic Stream phonetic(final @name("value") Object value)
  • apoc.text.Strings Stream replace(final @name("text") String text, final @name("regex") String regex, final @name("replacement") String replacement)
  • apoc.text.Strings Stream join(
  • apoc.text.Strings Stream clean(final @name("text") String text)
  • apoc.text.Strings Stream compareCleaned(final @name("text1") String text1, final @name("text2") String text2)
  • apoc.text.Strings Stream filterCleanMatches(final @name("text1") String text1, final @name("text2") String text2)
  • apoc.text.Strings Stream urlencode(@name("text") String text)
  • apoc.text.Strings Stream urldecode(@name("text") String text)
  • apoc.util.Utils Stream sha1(@name("values") List values)
  • apoc.util.Utils Stream md5(@name("values") List values)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment