Как я могу получить объект с использованием метода pull
по его идентификатору объекта? Я использовал транзакцию, чтобы добавить некоторые данные/факты (правильную формулировку?) В мой db. Я могу видеть, идентификатор объекта, если я сделать простой запрос типа:Как использовать метод выталкивания данных для захвата объекта по его идентификатору объекта?
[:find ?e
:where
[?e :arb/value]
]
Результат существо:
{[17592186045418] [17592186045420] [17592186045423]}
Теперь я 'd хотел бы получить один из них, используя pull. Однако в примерах в документах для pull используются примеры, в которых объект, о котором идет речь, связан с идентификатором.
В частности, документы относятся к примеру из MusicBrainz набора выборки данных, и образец, они указывают на то:
(pull db '[*] led-zeppelin)
где (хотя документы не показывают это) LED-дирижабль имеет был определен как так (как можно видеть here:
(def led-zeppelin [:artist/gid #uuid "678d88b2-87b0-403b-b63d-5da7465aecc3"])
документы говорят о том, что команда тянуть берет три вещи: дБ, шаблон выбора определяя, что я думаю, какие атрибуты вытягиваются для каждого объекта, и «eid» объекта. Таким образом, выше led-zeppelin
var - это как-то eid.
Я не совсем понимаю, что там происходит. Исполнитель: artist/gid - это атрибут id, определенный в схеме для musicbrainz, и третий элемент выглядит как конкретный идентификатор. Я не уверен, что такое #uuid.
Но в моем случае я не определил атрибут id для своих объектов. Я надеялся, что сможет использовать уникальный идентификатор объекта, который, по моему мнению, назначается по умолчанию для каждого объекта. Это возможно? Если да, то как это будет сделано?
«Вытянуть выражение с использованием запроса» находится в самом низу связанного файла. – ClojureMostly
@ClojureMostly Я пытаюсь понять, как использовать функцию 'pull' – fraxture