View a markdown version of this page

Exemple de sortie d'explication pour une recherche de relation avec une limite - Amazon Neptune

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exemple de sortie d'explication pour une recherche de relation avec une limite

Cette requête recherche les relations entre deux nœuds anonymes de type route et en renvoie au maximum 10. Encore une fois, le mode explain est details, et le format ASCII est le format de sortie par défaut.

Ici, DFEPipelineScan recherche les arêtes qui commencent par un nœud anonyme ?anon_node7 et se terminent par un autre nœud anonyme ?anon_node21, avec un type de relation enregistré sous la forme ?p_type1. Il existe un filtre pour les éléments ?p_type1 qui correspondent à el://route (où el désigne l'étiquette d'une arête), ce qui équivaut à [p:route] dans la chaîne de requête.

DFEDrain collecte la solution de sortie avec une limite de 10, comme indiqué dans sa colonne Arguments. DFEDrain prend fin une fois que la limite est atteinte ou que toutes les solutions sont générées, selon la situation qui survient en premier.

explainPour appeler cette requête, procédez comme suit :

AWS CLI
aws neptunedata execute-open-cypher-explain-query \ --endpoint-url https://your-neptune-endpoint:port \ --open-cypher-query "MATCH ()-[p:route]->() RETURN p LIMIT 10" \ --explain-mode details

Pour plus d'informations, consultez execute-open-cypher-explain-query dans la référence des commandes. AWS CLI

SDK
import boto3 from botocore.config import Config client = boto3.client( 'neptunedata', endpoint_url='https://your-neptune-endpoint:port', config=Config(read_timeout=None, retries={'total_max_attempts': 1}) ) response = client.execute_open_cypher_explain_query( openCypherQuery='MATCH ()-[p:route]->() RETURN p LIMIT 10', explainMode='details' ) print(response['results'].read().decode('utf-8'))

Pour des exemples de AWS SDK dans d'autres langues, voirAWS SDK.

awscurl
awscurl https://your-neptune-endpoint:port/openCypher \ --region us-east-1 \ --service neptune-db \ -X POST \ -d "query=MATCH ()-[p:route]->() RETURN p LIMIT 10" \ -d "explain=details"
Note

Cet exemple suppose que vos AWS informations d'identification sont configurées dans votre environnement. Remplacez us-east-1 par la région de votre cluster Neptune.

curl
curl https://your-neptune-endpoint:port/openCypher \ -d "query=MATCH ()-[p:route]->() RETURN p LIMIT 10" \ -d "explain=details"

Le explain résultat :

Query: MATCH ()-[p:route]->() RETURN p LIMIT 10 ╔════╤════════╤════════╤═══════════════════╤════════════════════╤═════════════════════╤══════════╤═══════════╤═══════╤═══════════╗ ║ ID │ Out #1 │ Out #2 │ Name │ Arguments │ Mode │ Units In │ Units Out │ Ratio │ Time (ms) ║ ╠════╪════════╪════════╪═══════════════════╪════════════════════╪═════════════════════╪══════════╪═══════════╪═══════╪═══════════╣ ║ 0 │ 1 │ - │ SolutionInjection │ solutions=[{}] │ - │ 0 │ 1 │ 0.00 │ 0 ║ ╟────┼────────┼────────┼───────────────────┼────────────────────┼─────────────────────┼──────────┼───────────┼───────┼───────────╢ ║ 1 │ 2 │ - │ DFESubquery │ subQuery=subQuery1 │ - │ 0 │ 10 │ 0.00 │ 5.00 ║ ╟────┼────────┼────────┼───────────────────┼────────────────────┼─────────────────────┼──────────┼───────────┼───────┼───────────╢ ║ 2 │ - │ - │ TermResolution │ vars=[?p] │ id2value_opencypher │ 10 │ 10 │ 1.00 │ 1.00 ║ ╚════╧════════╧════════╧═══════════════════╧════════════════════╧═════════════════════╧══════════╧═══════════╧═══════╧═══════════╝ subQuery1 ╔════╤════════╤════════╤═════════════════╤═══════════════════════════════════════════════════════════╤══════╤══════════╤═══════════╤═══════╤═══════════╗ ║ ID │ Out #1 │ Out #2 │ Name │ Arguments │ Mode │ Units In │ Units Out │ Ratio │ Time (ms) ║ ╠════╪════════╪════════╪═════════════════╪═══════════════════════════════════════════════════════════╪══════╪══════════╪═══════════╪═══════╪═══════════╣ ║ 0 │ 1 │ - │ DFEPipelineScan │ pattern=Edge((?anon_node7)-[?p:?p_type1]->(?anon_node21)) │ - │ 0 │ 1000 │ 0.00 │ 0.66 ║ ║ │ │ │ │ inlineFilters=[(?p_type1 IN [<el://route>])] │ │ │ │ │ ║ ║ │ │ │ │ patternEstimate=26219 │ │ │ │ │ ║ ╟────┼────────┼────────┼─────────────────┼───────────────────────────────────────────────────────────┼──────┼──────────┼───────────┼───────┼───────────╢ ║ 1 │ 2 │ - │ DFEProject │ columns=[?p] │ - │ 1000 │ 1000 │ 1.00 │ 0.14 ║ ╟────┼────────┼────────┼─────────────────┼───────────────────────────────────────────────────────────┼──────┼──────────┼───────────┼───────┼───────────╢ ║ 2 │ - │ - │ DFEDrain │ limit=10 │ - │ 1000 │ 0 │ 0.00 │ 0.11 ║ ╚════╧════════╧════════╧═════════════════╧═══════════════════════════════════════════════════════════╧══════╧══════════╧═══════════╧═══════╧═══════════╝