Re 1, да (если я правильно понимаю, что вы спрашиваете): для каждого свойства в модели каждый экземпляр модели (AKA "сущность") имеет одно значение для этого свойства. Так, например IntegerProperty
имеет одно целочисленное значение для данной сущности, SelfReferenceProperty
имеет одно значение (внутренняя строка ключа) для данной сущности и так далее. Конечно, это не единственное значение для всех экземпляров модуля, но я не верю, что вы это имеете в виду.
Re 2, предел 5000 (вау, это много соседей для одного графа узлов, который имеет всего 10000 узлов!) Я полагаю, вы ссылаетесь на индексы для сущности - эта статья лучше объясняет ограничение.
Один из возможных обходных путей - вообще не иметь свойства neighbors
на узлах, а использовать отдельную модель Connection
для представления соединения от одного узла к другому (со свойствами ReferenceProperty
в соединении, которые каждый обратитесь к узлу). Вам понадобится что-то дополнительное в Соединении (например, прогрессивный подсчет входящих и исходящих соединений для затронутых узлов), чтобы, конечно, иметь возможность извлекать многие тысячи из них (в нескольких запросах, учитывая 1000 в то время ограничение).