Меня зовут Гремлин, и, возможно, я пропустил некоторые основы в документации Gremlin, но я не нашел способа определить правила проверки схемы для Gremlin.
Я имею в виду, как я могу разрешить в моей графической БД (Gremlin Api в Azure Cosmos DB) отношения: человек-> создает-> программное обеспечение и человек-> знает-человека,
но ограничить: человек-> знает-> ПО или ПО-> создает-> человек?
Гремлин и ТинкерПоп понятия не имеют о схеме графа. Подходы к схемам из разных систем графов слишком разнообразны, чтобы их можно было обобщать (некоторые даже не поддерживают схему). Если вам нужна схема, вам нужно либо выбрать систему с поддержкой TinkerPop, которая имеет эту поддержку, и использовать их API-интерфейсы для определения этой схемы, либо вам нужно самостоятельно обработать такую логику в своем приложении.
Для последнего вы можете рассмотреть несколько вариантов помимо простой инкапсуляции этой логики где-нибудь в вашем коде:
TraversalStrategy
, который будет проверять, что сделанные мутации соответствуют схеме. В настоящее время это подход только для Java и требует обходов на основе байт-кода, которые CosmosDB еще не поддерживает (хотя в настоящее время эта поддержка - в разработке).