Selecionando Campos de Um Dataset
Ao realizar uma consulta é possível escolher os atributos que você deseja que sejam retornados em cada dataset. Qualquer um dos campos disponíveis no JSON de retorno dos datasets (que podem ser vistos nos exemplos de chamada de cada um) podem ser selecionados. O exemplo abaixo mostra uma chamada selecionando apenas nome e data de nascimento do dataset de 'Dados Básicos' para pessoas:
Body:
{
"Datasets": "basic_data{name, birthdate}",
"q": "doc{xxxxxxxxxxx}"
}
Nota: Nas consultas à API de On-demand não é possível realizar essa seleção de campos para retorno.
Filtrando os Resultados
Vários dos datasets da Plataforma de Dados permitem que você faça um filtro nos resultados retornados, selecionando apenas determinados tipos de informações. Alguns exemplos:
- Nos datasets de contato (e-mails, telefones e endereços) você pode pedir apenas os contatos de trabalho, ou apenas os contatos de casa;
- Nos datasets de processos judiciais, é possível selecionar apenas processos criminais, apenas processos cíveis, ou apenas processos de um tribunal específico;
- Nos datasets de relacionamentos, é possível selecionar apenas os relacionamentos de um determinado tipo;
Os valores do filtro são case-insensitive, ou seja, não faz diferença se você preenche os mesmos só com letras maiúsculas, só minúsculas, ou com qualquer combinação. Outro ponto importante é que você pode filtrar por múltiplos valores de um mesmo campo, enviando um conjunto de valores aceitos, ao invés de um valor só. Os datasets permitem ainda tanto a filtragem baseada em um único campo, quanto a filtragem baseada em múltiplos campos ao mesmo tempo.
Os exemplos abaixo mostram como realizar chamadas filtrando os dados das diferentes formas descritas acima:
Exemplo 1 - Fitro com um único valor de um único campo
Body:
{
"Datasets": "processes.filter(party_type=defendant)",
"q": "doc{xxxxxxxxxxx}"
}
Exemplo 2 - Filtro com múltiplos valores de um único campo
Body:
{
"Datasets": "phones.filter(areacode=[21,11])",
"q": "doc{xxxxxxxxxxx}"
}
Exemplo 3 - Filtro com múltiplos campos
Body:
{
"Datasets": "emails.filter(Type=work,validationstatus=VALID)",
"q": "doc{xxxxxxxxxxx}"
}
Ordenando os Resultados
Vários dos datasets da Plataforma de Dados retornam listas de resultados, ao invés de um resultado único. Exemplos são os datasets de contatos (e-mails, telefones e endereços) e os datasets de relacionamentos.
Todas as listas de resultados são retornadas em uma ordem de priorização definida internamente pela BigDataCorp, que varia de acordo com o tipo de informação do dataset. Os dados de contato, por exemplo, são priorizados de acordo com a recência, frequência e relevância das fontes que deram origem à eles, usando um score interno da BigDataCorp. Relacionamentos, por sua vez, são priorizados de acordo com a recência e o tipo de relacionamento (familiares próximos aparecem primeiro), e assim por diante.
Reconhecemos, no entanto, que por vezes os nossos clientes desejam fazer a ordenação por algum outro critério de prioridade ou campo retornado dentro dos dados (por exemplo, trazer primeiro todos os telefones celulares, ou todos os e-mails corporativos). Para atender à essas situações, a Plataforma de Dados permite a ordenação alternativa de resultados por qualquer campo dentro do dataset, em ordem ascendente ou descendente.
O exemplo abaixo mostra uma chamada no dataset de telefones, ordenando os resultados pelo tipo de telefone:
Body:
{
"Datasets": "emails.order(EmailTotalPassages=ascending)",
"q": "doc{xxxxxxxxxxx}"
}