Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Hint di query SPARQL utilizzati con DESCRIBE

Modalità Focus
Hint di query SPARQL utilizzati con DESCRIBE - Amazon Neptune

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Una query SPARQL DESCRIBE fornisce un meccanismo flessibile per richiedere descrizioni di risorse. Tuttavia, le specifiche SPARQL non definiscono la semantica precisa di DESCRIBE.

A partire dal rilascio 1.2.0.2 del motore, Neptune supporta diverse modalità e algoritmi DESCRIBE adatti a diverse situazioni.

Questo set di dati di esempio può aiutare a illustrare le diverse modalità:

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix : <https://example.com/> . :JaneDoe :firstName "Jane" . :JaneDoe :knows :JohnDoe . :JohnDoe :firstName "John" . :JaneDoe :knows _:b1 . _:b1 :knows :RichardRoe . :RichardRoe :knows :JaneDoe . :RichardRoe :firstName "Richard" . _:s1 rdf:type rdf:Statement . _:s1 rdf:subject :JaneDoe . _:s1 rdf:predicate :knows . _:s1 rdf:object :JohnDoe . _:s1 :knowsFrom "Berlin" . :ref_s2 rdf:type rdf:Statement . :ref_s2 rdf:subject :JaneDoe . :ref_s2 rdf:predicate :knows . :ref_s2 rdf:object :JohnDoe . :ref_s2 :knowsSince 1988 .

Gli esempi seguenti presuppongono che venga richiesta una descrizione della risorsa :JaneDoe utilizzando una query SPARQL in questo modo:

DESCRIBE <https://example.com/JaneDoe>

Hint di query SPARQL describeMode

L'hint di query SPARQL hint:describeMode viene utilizzato per selezionare una delle seguenti modalità SPARQL DESCRIBE supportate da Neptune:

Modalità DESCRIBE ForwardOneStep

È possibile richiamare la modalità ForwardOneStep con l'hint di query describeMode in questo modo:

PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#> DESCRIBE <https://example.com/JaneDoe> { hint:Query hint:describeMode "ForwardOneStep" }

La modalità ForwardOneStep restituisce solo gli attributi e i collegamenti diretti della risorsa da descrivere. Nel caso di esempio, ciò significa che restituisce le triple che hanno :JaneDoe, la risorsa da descrivere, come oggetto:

:JaneDoe :firstName "Jane" . :JaneDoe :knows :JohnDoe . :JaneDoe :knows _:b301990159 .

Nota che la query DESCRIBE può restituire triple con nodi vuoti, ad esempio_:b301990159, che sono IDs ogni volta diverse rispetto al set di dati di input.

Modalità DESCRIBE SymmetricOneStep

SymmetricOneStep è la modalità DESCRIBE predefinita se non si fornisce un hint di query. Puoi anche richiamarlo esplicitamente con l'hint di query describeMode in questo modo:

PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#> DESCRIBE <https://example.com/JaneDoe> { hint:Query hint:describeMode "SymmetricOneStep" }

Nella semantica SymmetricOneStep, DESCRIBE restituisce gli attributi, i collegamenti diretti e i collegamenti inversi della risorsa da descrivere:

:JaneDoe :firstName "Jane" . :JaneDoe :knows :JohnDoe . :JaneDoe :knows _:b318767375 . _:b318767631 rdf:subject :JaneDoe . :RichardRoe :knows :JaneDoe . :ref_s2 rdf:subject :JaneDoe .

Modalità DESCRIBE Concise Bounded Description (CBD)

La modalità Concise Bounded Description (CBD) viene richiamata utilizzando l'hint di query describeMode in questo modo:

PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#> DESCRIBE <https://example.com/JaneDoe> { hint:Query hint:describeMode "CBD" }

Nella semantica CBD, DESCRIBE restituisce la modalità Concise Bounded Description (come definito da W3C) della risorsa da descrivere:

:JaneDoe :firstName "Jane" . :JaneDoe :knows :JohnDoe . :JaneDoe :knows _:b285212943 . _:b285212943 :knows :RichardRoe . _:b285213199 rdf:subject :JaneDoe . _:b285213199 rdf:type rdf:Statement . _:b285213199 rdf:predicate :knows . _:b285213199 rdf:object :JohnDoe . _:b285213199 :knowsFrom "Berlin" . :ref_s2 rdf:subject :JaneDoe .

La Concise Bounded Description di una risorsa RDF (ovvero un nodo in un grafo RDF) è il sottografo più piccolo incentrato su quel nodo che può essere autonomo. In pratica ciò significa che se si pensa a questo grafo come a un albero, con il nodo designato come radice, non ci sono nodi vuoti (bnodi) come foglie di quell'albero. Poiché i bnodi non possono essere indirizzati esternamente o utilizzati nelle query successive, per l'esplorazione del grafo non è sufficiente trovare i singoli hop successivi dal nodo corrente. Devi anche andare abbastanza lontano per trovare qualcosa che possa essere usato nelle query successive (cioè qualcosa di diverso da un bnodo).

Calcolo della CBD

Dato un particolare nodo (il nodo iniziale o radice) nel grafo RDF di origine, la CBD di quel nodo viene calcolata come segue:

  1. Includere nel sottografo tutte le istruzioni del grafo di origine in cui il soggetto dell'istruzione è il nodo iniziale.

  2. Ricorsivamente, per tutte le istruzioni del sottografo che finora hanno un oggetto nodo vuoto, includere nel sottografo tutte le istruzioni del grafo di origine in cui il soggetto dell'istruzione è quel nodo vuoto e che non sono già incluse nel sottografo.

  3. Ricorsivamente, per tutte le istruzioni incluse nel sottografo finora, per tutte le reificazioni di queste istruzioni del grafo di origine, includere la CBD a partire dal nodo rdf:Statement di ogni reificazione.

Si ottiene così un sottografo in cui i nodi oggetto sono riferimenti o valori letterali IRI oppure nodi vuoti che non fungono da soggetto di alcuna istruzione del grafo. Notare che la CBD non può essere calcolata utilizzando una singola query SPARQL SELECT o CONSTRUCT.

Modalità DESCRIBE Symmetric Concise Bounded Description (SCBD)

La modalità Symmetric Concise Bounded Description (SCBD) viene richiamata utilizzando l'hint di query describeMode in questo modo:

PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#> DESCRIBE <https://example.com/JaneDoe> { hint:Query hint:describeMode "SCBD" }

Nella semantica SCBD, DESCRIBE restituisce la Symmetric Concise Bounded Description della risorsa (come definito da W3C in Describing Linked Datasets with the VOID Vocabulary):

:JaneDoe :firstName "Jane" . :JaneDoe :knows :JohnDoe . :JaneDoe :knows _:b335544591 . _:b335544591 :knows :RichardRoe . :RichardRoe :knows :JaneDoe . _:b335544847 rdf:subject :JaneDoe . _:b335544847 rdf:type rdf:Statement . _:b335544847 rdf:predicate :knows . _:b335544847 rdf:object :JohnDoe . _:b335544847 :knowsFrom "Berlin" . :ref_s2 rdf:subject :JaneDoe .

Il vantaggio di CBD e SCBD rispetto alle modalità ForwardOneStep e SymmetricOneStep è che i nodi vuoti vengono sempre espansi per includere la relativa rappresentazione. Questo può essere un vantaggio importante perché non è possibile eseguire query su un nodo vuoto utilizzando SPARQL. Inoltre, le modalità CBD e SCBD considerano anche le reificazioni.

Notare che l'hint di query describeMode può anche far parte di una clausola WHERE:

PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#> DESCRIBE ?s WHERE { hint:Query hint:describeMode "CBD" . ?s rdf:type <https://example.com/Person> }

Hint di query SPARQL describeIterationLimit

L'hint di query SPARQL hint:describeIterationLimit fornisce un vincolo opzionale sul numero massimo di espansioni iterative da eseguire per gli algoritmi DESCRIBE iterativi come CBD e SCBD.

I limiti di DESCRIBE coincidono ANDed . Pertanto, se vengono specificati sia il limite di iterazione che il limite di istruzioni, entrambi i limiti devono essere soddisfatti prima che la query DESCRIBE venga interrotta.

Il valore predefinito per questo valore è 5. È possibile impostarlo su ZERO (0) per specificare NESSUN limite al numero di espansioni iterative.

Hint di query SPARQL describeStatementLimit

L'hint di query SPARQL hint:describeStatementLimit fornisce un vincolo opzionale sul numero massimo di istruzioni che possono essere presenti in una risposta alla query DESCRIBE. Viene applicato solo per algoritmi DESCRIBE iterativi come CBD e SCBD.

DESCRIVI i limiti ANDed coincidono. Pertanto, se vengono specificati sia il limite di iterazione che il limite di istruzioni, entrambi i limiti devono essere soddisfatti prima che la query DESCRIBE venga interrotta.

Il valore predefinito per questo valore è 5000. È possibile impostarlo su ZERO (0) per specificare NESSUN limite al numero di istruzioni restituite.

In questa pagina

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.