Как получить источник изоляции и последовательность для подпоследовательности в озере данных C3.ai COVID-19? - PullRequest
1 голос
/ 29 апреля 2020

Я выполняю вызовы API для озера данных C3.ai COVID-19 в Почтальоне. Я использую метод Fetch для типа подпоследовательности и хочу получить источник изоляции для BiologicalAsset, который связан с подпоследовательностью. Но я не могу понять, как правильно получить доступ к этому полю. Я запускаю POST на https://api.c3.ai/covid/api/1/subsequence/fetch. Вот тело запроса:

{
    spec: {
        include: "startIndex, endIndex, sequence, sequence.isolationSource",
        limit: 10
    }
}

Но тогда каждый объект в результирующем XML выглядит следующим образом:

<k>0</k>
<v>
    <startIndex>1</startIndex>
    <endIndex>182</endIndex>
    <id>LC522350_1-182</id>
    <meta>
        <fetchInclude>[startIndex,endIndex,sequence,id,version]</fetchInclude>
        <fetchType>Subsequence</fetchType>
    </meta>
    <version>1</version>
</v>

Это не правильно показывает последовательность или источник изоляции. Как мне их найти?

1 Ответ

1 голос
/ 29 апреля 2020

На основе API docs вам необходимо использовать «родительский» для ссылки на последовательность, связанную с подпоследовательностью, а затем использовать родительский объект этого родителя для ссылки на BiologicalAsset. Это сделало бы ваш запрос:

{
    spec: {
        include: "startIndex, endIndex, parent.sequence, parent.parent.isolationSource",
        limit: 10
    }
}

Я только что попробовал это и заметил, что некоторые подпоследовательности не имеют источников изоляции. Если вы хотите включить только результаты, которые имеют источник изоляции, вы должны добавить filter: "exists(parent.parent.isolationSource)" к своему параметру c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...