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

Запросы пакетного шифрования, сгенерированные RestCypherQueryEngine

Я пытаюсь объединить несколько шифровальных запросов с REST API (используя библиотеку привязок java), чтобы по сети выполнялся только один вызов. Но, похоже, он не соблюдает пакетную обработку на стороне клиента и выдает эту ошибку:

java.lang.RuntimeException: Error reading as JSON ''
    at org.neo4j.rest.graphdb.util.JsonHelper.readJson(JsonHelper.java:57)
    at org.neo4j.rest.graphdb.util.JsonHelper.jsonToSingleValue(JsonHelper.java:62)
    at org.neo4j.rest.graphdb.RequestResult.toEntity(RequestResult.java:114)
    at org.neo4j.rest.graphdb.RequestResult.toMap(RequestResult.java:123)
    at org.neo4j.rest.graphdb.batch.RecordingRestRequest.toMap(RecordingRestRequest.java:138)
    at org.neo4j.rest.graphdb.ExecutingRestAPI.query(ExecutingRestAPI.java:489)
    at org.neo4j.rest.graphdb.ExecutingRestAPI.query(ExecutingRestAPI.java:509)
    at org.neo4j.rest.graphdb.RestAPIFacade.query(RestAPIFacade.java:233)
    at org.neo4j.rest.graphdb.query.RestCypherQueryEngine.query(RestCypherQueryEngine.java:50)
    ...
Caused by: java.io.EOFException: No content to map to Object due to end of input
    at org.codehaus.jackson.map.ObjectMapper._initForReading(ObjectMapper.java:2766)
    at org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2709)
    at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1854)
    at org.neo4j.rest.graphdb.util.JsonHelper.readJson(JsonHelper.java:55)
    ... 41 more

Вот как я пытаюсь их объединить:

graphDatabaseService.getRestAPI().executeBatch(new BatchCallback<Void>() {
            @Override
            public Void recordBatch(RestAPI batchRestApi) {
                String query =  "CREATE accounts=({userId:{userId}})-[r:OWNS]->({facebookId:{facebookId}})";
                graphDatabaseService.getQueryEngine().query(query, map("userId", 1, "facebookId", "1"));
                graphDatabaseService.getQueryEngine().query(query, map("userId", 2, "facebookId", "2"));
                graphDatabaseService.getQueryEngine().query(query, map("userId", 3, "facebookId", "3"));


                return null;
            }
        });

Я использую noe4j версии 1.9 и соответствующую клиентскую библиотеку. Должно ли это быть возможно?

01.08.2013

Ответы:


1

Вот пример кода JUnit, который работает для вашего пакета. Здесь не используется строковый шаблон, а используются нативные методы объекта RestAPI:

public static final DynamicRelationshipType OWNS = DynamicRelationshipType.withName("OWNS");

@Autowired
private SpringRestGraphDatabase             graphDatabaseService;

@Test
public void batchTest()
    {

    Assert.assertNotNull(this.graphDatabaseService);

    this.graphDatabaseService.getRestAPI().executeBatch(new BatchCallback<Void>()
        {
            @Override
            public Void recordBatch(RestAPI batchRestApi)
                {
                for (int counter = 1; counter <= 3; counter++)
                    {
                    RestNode userId = batchRestApi.createNode(map("userId", Integer.valueOf(counter)));
                    RestNode facebookId = batchRestApi.createNode(map("facebookId", Integer.valueOf(counter).toString()));
                    batchRestApi.createRelationship(userId, facebookId, OWNS, map());
                    }
                return null;
                }
        });

    }
22.08.2013
  • Кстати: я нашел этот тестовый пример RestAPI: github.com/neo4j/java-rest-binding/blob/master/src/test/java/ 22.08.2013
  • На самом деле я хотел самостоятельно выполнить пакетный жестко запрограммированный шифрованный запрос. В итоге я сделал это, используя простой клиент из трикотажа, который обращается к конечной точке пакета сервера neo4j, и просто сам кодировал запросы в json. Спасибо хоть! 10.09.2013
  • Новые материалы

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

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

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

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

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

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

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