Объединение firstName и lastName и поиск по этим 2 свойствам с использованием запросов Gremlin

    "label":”employee”,
    "id": "64c268cc-6a39-4eba-a312-79103a97b837",
    "entityType":"employee",
    "organizationId": "d7081ebb-4685-4cb5-ba24-027eeb815a27",
    "floorId":”36577019-0587-4a15-b784-4b2b0df7a1da”,
    "officeId": "7632d466-66e2-4c38-a40b-9d1deec61e69",
    "firstName": "Sarfaraz",
    "lastName": "Shaikh",
    "phoneNumber": "9874152362",
    "department": "Data",
    "teams": "[.Net","Devops"],
    "deviceId": "RAHS898HAJHS”,
    "devicetype": 1 ,  
    "timestamp": 1586173968,
    "isActive": True/False

Выше указано свойство вершины для сотрудника, я хочу выполнить конкатенацию для firstName и lastName, а также выполнить поиск по этим свойствам с помощью запросов gremlin, Azure cosmos graphDB поддерживает только данные, чувствительные к регистру, и я не могу выполнять поиск с учетом регистра.

Скажем, в базе данных, если firstName property store 'sarfaraz' и я ищу 'Sa', он должен дать мне этот результат 'sarfaraz'.



person sarfaraz shaikh    schedule 03.06.2020    source источник


Ответы (1)


Текущий язык запросов Gremlin не имеет встроенных возможностей манипулирования строками, поэтому вы не можете, например, сделать что-то вроде объединения двух строк с помощью шагов Gremlin. Если база данных графов, которую вы используете, поддерживает лямбды / замыкания строк, вы можете сделать это таким образом, но многие графические базы данных предотвращают это, в частности, из соображений безопасности. Текстовые предикаты Gremlin чувствительны к регистру. Некоторые БД графов поддерживают интеграцию с внешним индексом, таким как эластичный поиск. В этих случаях возможен поиск без учета регистра.

person Kelvin Lawrence    schedule 03.06.2020