Aller au contenu principal

Requetes et ObjectSet

En bref

Le SDK et la CLI offrent un systeme de requetes unifie pour interroger vos entites. Filtrez, triez, paginez et recherchez — en TypeScript ou en ligne de commande.

Requete basique

CLI

npx ontologie query Contract --limit 10
npx ontologie query Contract --filter-json '{"status":{"eq":"active"}}'

SDK TypeScript

import { createClient } from '@ontologie/sdk-client';

const client = createClient({ /* config */ });

const contracts = await client.ontology.query('Contract', {
filter: { status: { eq: 'active' } },
limit: 10,
});

Operateurs de filtre

OperateurDescriptionExemple
eqEgal{ status: { eq: 'active' } }
neqDifferent{ status: { neq: 'draft' } }
inDans une liste{ status: { in: ['active', 'pending'] } }
notInPas dans une liste{ priority: { notIn: ['low'] } }
gtSuperieur{ amount: { gt: 1000 } }
gteSuperieur ou egal{ amount: { gte: 1000 } }
ltInferieur{ amount: { lt: 5000 } }
lteInferieur ou egal{ amount: { lte: 5000 } }
containsContient (texte){ name: { contains: 'acme' } }
startsWithCommence par{ name: { startsWith: 'Contract-' } }

Operateurs logiques

Combinez les conditions avec and, or, not :

const results = await client.ontology.query('Contract', {
filter: {
or: [
{ status: { eq: 'active' }, amount: { gt: 10000 } },
{ priority: { eq: 'critical' } },
],
},
});

Dates

Utilisez le format ISO 8601 :

const recent = await client.ontology.query('Contract', {
filter: { signedAt: { gte: '2026-01-01T00:00:00Z' } },
});

Pagination

ParametreDescriptionDefautMaximum
limitNombre de resultats5010 000
offsetDecalage0100 000

La reponse inclut les metadonnees de pagination :

{
"ok": true,
"data": [...],
"page": { "total": 342, "limit": 50, "offset": 0, "hasMore": true }
}

Tri

// SDK
const sorted = await client.ontology.query('Contract', {
orderBy: { field: 'amount', direction: 'desc' },
});
# CLI
npx ontologie query Contract --order-by amount:desc

Recherche

Recherche par mot-cle

const results = await client.ontology.search('Contract', {
keyword: 'renouvellement automatique',
});

Recherche semantique

const results = await client.ontology.search('Contract', {
semantic: 'contrats qui arrivent a echeance ce trimestre',
});

Operations sur le graphe

Quatre operations de graphe sont disponibles :

OperationDescriptionLimite
neighborsEntites voisines directes100 resultats max
traverseParcours multi-niveauxProfondeur 2 max (Preview)
shortestPathPlus court chemin entre deux entites
constrainedSearchRecherche avec contraintes de graphe
// Voisins d'une entite
const neighbors = await client.graph.neighbors({
nodeId: 'uuid-du-contrat',
direction: 'both',
limit: 20,
});

// Parcours
const traversal = await client.graph.traverse({
startNodeId: 'uuid-du-contrat',
depth: 2,
direction: 'outgoing',
});
# CLI
npx ontologie graph neighbors --node-id uuid-du-contrat
npx ontologie graph traverse --start uuid-du-contrat --depth 2

Limites systeme

ParametreLimite
Resultats par requete10 000
Offset maximum100 000
Voisins retournes100
Profondeur de traversee2 (Preview)
Requetes par heure (API key)1 000
Burst par seconde10

Voir aussi