Nano Hash - криптовалюты, майнинг, программирование

Запрос шифрования: CONCAT и TOKENIZE в предложении SET

Мне нужно сгенерировать шифрованный запрос, в котором я должен УСТАНОВИТЬ значение одного свойства на основе значения другого свойства, например:

MATCH (n) SET n.XXX = n.YYY return n;

Таким образом, XXX будет установлен на YYY. Но YYY имеет такие значения — «ABCD.net/ABC-MNO-XYZ-1234», и я должен удалить все специальные символы (/,- и т. д.), а затем объединить разделенные подстроки. Таким образом, логическое утверждение должно быть таким:

MATCH (n) SET n.XXX = CONCAT(SPLIT(n.YYY, "/")) return n;

Neo4j не имеет функции CONCAT. Итак, как можно выполнить это в шифрованном запросе?

Любая помощь будет высоко оценена.

Спасибо

15.11.2016

Ответы:


1

Вы можете сделать это:

MATCH (n:SomeNode) set n.uuid = reduce(s="",x in split(n.uuid,'/')|  s+x)

и запустите этот запрос для каждого специального символа.

Если спецсимволов много, напишите такой запрос:

UNWIND ['/','@'] as delim match (n:SomeNode) set n.uuid = reduce(s="",x in split(n.uuid,delim)|  s+x)

Замените '/','@' списком ваших специальных символов.

15.11.2016
  • Спасибо @Mihal Raulea 16.11.2016

  • 2

    Ваш вариант использования действительно выглядит так, как будто вы хотите удалить символы в строке, а neo4j действительно предлагает replace(), которую вы можете использовать для этого.

    Но если вам нужна функция join(), в библиотеке процедур APOC она есть среди текстовые функции, которые он предлагает.

    15.11.2016
  • Также есть reduce(s = "", f IN fragments | s = s + f). 15.11.2016
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

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

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..