Langue de requête graphique – Wikipedia wiki

before-content-x4

Langue de programmation de requête graphique en cours de développement

after-content-x4

Gql ( Langage de requête graphique ) est un langage de requête graphique standard proposé. En septembre 2019, une proposition pour un projet pour créer un nouveau langage de requête graphique standard (technologie de l’information ISO / IEC 39075 – Langues de base de données – GQL) [d’abord] a été approuvé par un vote des organismes nationaux de normes qui sont membres du comité technique conjoint ISO / IEC 1 ( ISO / IEC JTC 1 ). JTC 1 est responsable des normes internationales des technologies de l’information. GQL est destiné à être un langage de requête de base de données déclaratif, comme SQL.

Projet pour un nouveau langage de requête graphique standard international [ modifier ]]

La proposition du projet GQL stipule:

“L’utilisation du graphique comme représentation fondamentale de la modélisation des données est une approche émergente dans la gestion des données. Dans cette approche, l’ensemble de données est modélisé comme un graphique, représentant chaque entité de données comme un sommet (également appelé nœud) du graphique et de chaque relation entre deux entités comme un bord entre les sommets correspondants. Le modèle de données de graphique a attiré l’attention pour ses avantages uniques. Premièrement, le modèle de graphique peut être un ajustement naturel pour les ensembles de données qui ont des structures hiérarchiques, complexes ou même arbitraires. De telles structures peuvent être facilement codé dans le modèle de graphique sous forme de bords. Cela peut être plus pratique que le modèle relationnel, ce qui nécessite la normalisation de l’ensemble de données dans un ensemble de tableaux avec des types de lignes fixes. Deuxièmement, le modèle de graphique permet une exécution efficace de requêtes coûteuses ou Fonctions d’analyse des données qui doivent observer les relations multi-HOP entre les entités de données, telles que les requêtes d’accession, les requêtes de chemin les plus courtes ou les moins chères, ou l’analyse de la centralité. Il existe deux modèles de graphiques dans le modèle d’usage: le modèle de cadre de description des ressources (RDF) et la propriété et la propriété Modèle de graphique. Le modèle RDF a été standardisé par W3C dans un certain nombre de spécifications. Le modèle de graphique de la propriété, en revanche, a une multitude d’implémentations dans les bases de données de graphiques, les algorithmes de graphiques et les installations de traitement des graphiques. Cependant, un langage de requête standardisé commun pour les graphiques de propriété (comme SQL pour les systèmes de base de données relationnels) est manquant. GQL est proposé pour combler ce vide. ” [2]

Le projet GQL est l’aboutissement des initiatives convergentes datant de 2016, en particulier une proposition privée de NEO4J à d’autres fournisseurs de bases de données en juillet 2016, [3] et une proposition du personnel technique d’Oracle au sein du processus de normes ISO / IEC JTC 1 plus tard cette année-là. [4]

Le projet GQL est dirigé par Stefan Plantikow (qui a été le premier ingénieur principal du projet Cypher for Apache Spark de Neo4j) et Stephen Cannan (éditeur technique Corrigenda de SQL). Ils sont également les éditeurs des premiers ébauches de travail précoces [5] de la spécification GQL.

Comme à l’origine motivé, [4] Le projet GQL vise à compléter le travail de création d’une spécification normative en langue naturelle avec des efforts communautaires favorables qui permettent les contributions de ceux qui ne sont pas en mesure ou non intéressés à participer au processus formel de définition d’une norme internationale JTC 1. [7] En juillet 2019, le Conseil de référence de données liés (LDBC) a accepté de devenir l’organisation des parapluies pour les efforts des groupes de travail technique communautaire. Les langues existantes et les groupes de travail de schéma de graphiques de propriété se sont formés respectivement fin 2018 et début 2019. Un groupe de travail pour définir la sémantique de dénomination formelle pour GQL a été proposé lors de la troisième mise à jour de la communauté GQL en octobre 2019. [8]

after-content-x4

Le modèle de données du graphique de la propriété GQL [ modifier ]]

GQL est un langage de requête spécifiquement pour les graphiques de propriété. Un graphique de propriété ressemble étroitement à un modèle de données conceptuels, comme exprimé dans un modèle entité-relation ou dans un diagramme de classe UML (bien qu’il n’inclut pas les relations N-ARRES reliant plus de deux entités). Les entités ou les concepts sont modélisés comme des nœuds et les relations comme bords, dans un graphique. Les graphiques de la propriété sont multigraphes : Il peut y avoir de nombreux bords entre la même paire de nœuds. Les graphiques GQL peuvent être mixte : Ils peuvent contenir des bords dirigés, où l’un des nœuds de point de terminaison d’un bord est la queue (ou la source) et l’autre nœud est la tête (ou la cible ou la destination), mais ils peuvent également contenir des bords non dirigés (bidirectionnels ou réflexifs).

Les nœuds et les bords, collectivement appelés éléments, ont des attributs. Ces attributs peuvent être des valeurs de données ou des étiquettes (balises). Les valeurs des propriétés ne peuvent pas être des éléments de graphiques, et ils ne peuvent pas être des graphiques entiers: ces restrictions forcent intentionnellement une séparation propre entre la topologie d’un graphique et les attributs transportant des valeurs de données dans le contexte d’une topologie de graphique. Le modèle de données de graphiques de la propriété empêche donc délibérément la nidification des graphiques ou le traitement des nœuds dans un graphique comme des bords dans un autre. Chaque graphique de propriété peut avoir un ensemble d’étiquettes et un ensemble de propriétés associées au graphique dans son ensemble.

Les produits et projets de base de données de graphiques actuels prennent souvent en charge une version limitée du modèle décrit ici. Par exemple, Apache Tinkerpop [9] force chaque nœud et chaque bord pour avoir une seule étiquette; Cypher permet aux nœuds d’avoir zéro à de nombreuses étiquettes, mais les relations n’ont qu’une seule étiquette (appelée Reltype). La base de données de NEO4J prend en charge les propriétés sans papiers à l’échelle des graphiques, TinkerPop a des valeurs de graphe qui jouent le même rôle et prennent également en charge les “métaproperties” ou les propriétés sur les propriétés. PGQL d’Oracle prend en charge zéro à de nombreuses étiquettes sur les nœuds et sur les bords, tandis que SQL / PGQ prend en charge une à de nombreuses étiquettes pour chaque type d’élément. Le modèle d’information NGSI-LD spécifié par ETSI est une tentative de spécification formelle de graphiques de propriété, avec des types de nœud et de relation (bord) qui peuvent jouer le rôle des étiquettes dans les modèles précédemment mentionnés et Soutenir le référencement sémantique par des classes héritées définies dans les ontologies partagées.

Le projet GQL définira un modèle de données standard, qui est probablement le superset de ces variantes, et au moins la première version de GQL est susceptible de permettre aux fournisseurs de décider des cardinalités des étiquettes dans chaque implémentation, tout comme SQL / PGQ et choisir s’il faut soutenir les relations non dirigées.

Des aspects supplémentaires des modèles ERM ou UML (comme la généralisation ou le sous-typage, ou les cardinalités entités ou relations) peuvent être capturés par des schémas ou des types GQL qui décrivent les cas possibles du modèle de données général.

La première implémentation [ modifier ]]

Bien que la norme GQL ne soit pas encore accessible au public, la première base de données de graphiques en mémoire qui peut interpréter GQL est disponible. [dix] [11] Outre la mise en œuvre, on peut également trouver une formalisation et lire la syntaxe du sous-ensemble spécifique de GQL. [douzième]

WG3: étendre SQL et créer GQL [ modifier ]]

Le projet GQL a une période de quatre ans. Sept organismes nationaux de normes (ceux des États-Unis, de la Chine, de la Corée, des Pays-Bas, du Royaume-Uni, du Danemark et de la Suède) ont nommé des experts nationaux de matière pour travailler sur le projet, qui est mené par le groupe de travail 3 (Langues de base de données) du sous-comité 32 de l’ISO / IEC JTC 1 (gestion des données et échangeur), généralement abrégé en tant que ISO / IEC JTC 1 / SC 32 WG3 , ou juste Wg3 pour faire court. WG3 (et ses comités directs prédécesseurs au sein de JTC 1) sont responsables de la norme SQL depuis 1987. [13] [14]

Extension des langages de requête graphique existants [ modifier ]]

Le projet GQL s’appuie sur plusieurs sources ou intrants, notamment les langues industrielles existantes et une nouvelle section de la norme SQL. Dans les discussions préparatoires au sein des enquêtes WG3 de l’histoire [15] et le contenu comparatif de certaines de ces entrées [16] ont été présentés. GQL sera un langage déclaratif avec sa propre syntaxe distincte, jouant un rôle similaire à SQL dans la construction d’une application de base de données. D’autres langages de requête graphique ont été définis qui offrent des caractéristiques procédurales directes telles que la ramification et le boucle (Apache Tinkerpop’s Gremlin, [17] ), et gsql, [18] permettant de traverser un graphique de manière itérative pour effectuer une classe d’algorithmes graphiques, mais GQL n’intègre pas directement de telles fonctionnalités. [19] [20] Cependant, GQL est envisagé comme un cas spécifique d’une classe plus générale de langages graphiques, qui partagera un système de type graphique et une interface d’appel pour les procédures qui traitent les graphiques.

Requête du graphique de la propriété SQL / PGQ [ modifier ]]

Les travaux antérieurs des corps de miroir WG3 et SC32, en particulier dans Incités DM32, ont contribué à définir une nouvelle partie 16 planifiée de la norme SQL, qui permet à une requête en lecture seule à être appelée à l’intérieur d’une instruction SQL Select, correspondant à un modèle de graphique en utilisant Syntaxe qui est très proche de Cypher, PGQL et G-Core, et renvoyant un tableau des valeurs de données en conséquence. SQL / PGQ contient également DDL pour permettre aux tables SQL d’être mappées à un objet de schéma de vue de graphique avec des nœuds et des bords associés aux ensembles d’étiquettes et à l’ensemble des propriétés de données. [21] [22] [23] Les coordonnées du projet GQL en étroite collaboration avec la «division du projet» SQL / PGQ de (Extension à) ISO 9075 SQL, et les groupes de travail techniques aux États-Unis (incite DM32) et au niveau international (SC32 / WG3) ont plusieurs contributeurs d’experts qui travailler sur les deux projets. [22] La proposition du projet GQL oblige l’alignement étroit de SQL / PGQ et GQL, indiquant que GQL sera en général un superset de SQL / PGQ.

Plus de détails sur le langage de correspondance de motif peuvent être trouvés dans le papier “La correspondance du modèle de graphique dans GQL et SQL / PGQ” [24]

Zéro [ modifier ]]

Zéro [25] est une langue conçue à l’origine par Andrés Taylor et ses collègues de Neo4j Inc., et mis en œuvre pour la première fois par cette société en 2011. Depuis 2015, il est mis à disposition en tant que description de la langue open source [26] Avec des outils de grammaire, un frontal JVM qui analyse les requêtes Cypher et un kit de compatibilité technologique (TCK) de plus de 2000 scénarios de test, en utilisant le concombre pour la portabilité du langage de mise en œuvre. [27] Le TCK reflète la description du langage et une amélioration des données et des fonctions temporelles documentées dans une proposition d’amélioration de Cypher. [28]

Cypher permet la création, la lecture, la mise à jour et la suppression des éléments du graphique, et est un langage qui peut donc être utilisé pour les moteurs d’analyse et les bases de données transactionnelles.

Interroger avec des motifs de chemin visuel [ modifier ]]

Cypher utilise des modèles compacts à longueur fixe et variable qui combinent les représentations visuelles des topologies de nœud et de relation (bord), avec l’existence d’étiquette et les prédicats de la valeur de la propriété. (Ces modèles sont généralement appelés modèles “ASCII Art”, et se sont présentés à l’origine comme un moyen de commenter des programmes qui ont utilisé une API graphique de niveau inférieur. [15] ) En faisant correspondre un tel modèle par rapport aux éléments de données du graphique, une requête peut extraire des références aux nœuds, aux relations et aux chemins d’intérêt. Ces références sont émises comme une “table de liaison” où les noms de colonne sont liés à un multiset d’éléments graphiques. Le nom d’une colonne devient le nom d’une “variable de liaison”, dont la valeur est une référence d’élément graphique spécifique pour chaque ligne de la table.

Par exemple, un modèle Match (P: Person) - [: Lives_in] -> (C: City) générera une table de sortie à deux colonnes. La première colonne nommée p contiendra des références aux nœuds avec une étiquette Personne . La deuxième colonne nommée c contiendra des références aux nœuds avec une étiquette Ville , désignant la ville où la personne vit.

Les variables de liaison p et c Peut ensuite être déréférencé pour obtenir l’accès aux valeurs des propriétés associées aux éléments mentionnés par une variable. L’exemple de requête peut être terminée avec un RETOUR , résultant en une requête complète comme celle-ci:

CORRESPONDRE  ( p : Personne ) - [ : VIT À ] -> ( c : Ville )  RETOUR  p . prénom ,  p . nom de famille ,  c . nom ,  c . État  

Cela entraînerait une table finale à quatre colonnes répertoriant les noms des résidents des villes stockées dans le graphique.

Les requêtes basées sur des motifs sont capables d’exprimer des jointures, en combinant plusieurs modèles qui utilisent la même variable de liaison pour exprimer une jointure naturelle en utilisant le CORRESPONDRE clause:

CORRESPONDRE  ( p : Personne ) - [ : VIT À ] -> ( c : Ville ),  ( p : Personne ) - [ : National_Of ] -> ( Eucounry )  RETOUR  p . prénom ,  p . nom de famille ,  c . nom ,  c . État  

Cette requête ne rendrait que le lieu résidentiel uniquement des ressortissants de l’UE.

Une jointure extérieure peut être exprimée par Match ... Match facultatif :

CORRESPONDRE  ( p : Personne ) - [ : VIT À ] -> ( c : Ville )  FACULTATIF  CORRESPONDRE  ( p : Personne ) - [ : National_Of ] -> ( CE : Eucounry )  RETOUR  p . prénom ,  p . nom de famille ,  c . nom ,  c . État ,  CE . nom  

Cette requête rendrait la ville de résidence de chaque personne dans le graphique avec des informations résidentielles et, si une nationale de l’UE, dont il vient.

Les requêtes sont donc en mesure de projeter d’abord un sous-graphique de l’entrée du graphique dans la requête, puis d’extraire les valeurs de données associées à ce sous-graphique. Les valeurs de données peuvent également être traitées par des fonctions, y compris les fonctions d’agrégation, conduisant à la projection de valeurs calculées qui rendent les informations détenues dans le graphique projeté de diverses manières. Suite à l’exemple de G-Core et Morpheus, GQL vise à projeter les sous-graphiques définis par des modèles de correspondance (et des graphiques ensuite calculés sur ces sous-graphiques) comme de nouveaux graphiques à retourner par une requête.

Les modèles de ce type sont devenus omniprésents dans les langages de requête du graphique de la propriété et sont la base du sous-langage de modèle avancé défini dans SQL / PGQ, qui devient probablement un sous-ensemble du langage GQL. Cypher utilise également des modèles pour les clauses d’insertion et de modification ( CRÉER et FUSIONNER ), et des propositions ont été faites dans le projet GQL pour collecter des modèles de nœuds et de bord pour décrire les types de graphiques.

Cypher 9 et Cypher 10 [ modifier ]]

La version actuelle de Cypher (y compris l’extension temporelle) est appelée Cypher 9. Avant le projet GQL, il devait créer une nouvelle version, Cypher 10 [ Ref se dirige ci-dessous ], cela incorporerait des fonctionnalités telles que le schéma et les requêtes et les vues de graphes composables. Les premières conceptions de Cypher 10, y compris la construction de graphiques et la projection, ont été mises en œuvre dans le projet Cypher pour Apache Spark à partir de 2016. [29]

Pgql [ modifier ]]

Pgql [30] est une langue conçue et implémentée par Oracle Inc., mais mise à disposition sous forme de spécification open source, [trente et un] avec JVM Analyseing Software. [32] PGQL combine la syntaxe SQL SELECT familière, y compris les expressions SQL et la commande et l’agrégation des résultats avec un langage de correspondance de motif très similaire à celui de Cypher. Il permet de demander la spécification du graphique et comprend une installation pour que les macros capturent les «vues du motif» ou les sous-motifs nommés. Il ne prend pas en charge les opérations d’insertion ou de mise à jour, ayant été conçue principalement pour un environnement d’analyse, comme le produit PGX d’Oracle. PGQL a également été mis en œuvre dans Oracle Big Data Spatial and Graph, et dans un projet de recherche, PGX.D / Async. [33]

G-core [ modifier ]]

G-Core est une langue de recherche conçue par un groupe de chercheurs universitaires et industriels et de concepteurs de langues qui s’appuient sur les caractéristiques de Cypher, PGQL et SPARQL. [34] [35] Le projet a été réalisé sous les auspices du Council de référence de données lié (LDBC), en commençant par la formation d’un groupe de travail sur le langage de requête graphique fin 2015, avec la majeure partie du travail de rédaction de papier en 2017. Langage composable qui est fermé par rapport aux graphiques: les entrées de graphiques sont traitées pour créer une sortie de graphique, en utilisant des projections de graphiques et des opérations de jeu de graphiques pour construire le nouveau graphique. Les requêtes G-Core sont des fonctions pures sur les graphiques, n’ayant aucun effet secondaire, ce qui signifie que le langage ne définit pas les opérations qui mutent les données stockées (mise à jour ou supprimer). G-Core présente des vues (des requêtes nommées). Il intègre également des chemins en tant qu’éléments dans un graphique («chemins en tant que citoyens de première classe»), qui peuvent être interrogés indépendamment des chemins projetés (qui sont calculés au moment de la requête sur les éléments de nœud et de bord). G-Core a été partiellement mis en œuvre dans des projets de recherche open source dans l’organisation LDBC GitHub. [36] [37] [38]

Gsql [ modifier ]]

Gsql [18] est une langue conçue pour la base de données de graphiques propriétaires de TigerGraph Inc. Depuis octobre 2018, les concepteurs de langues Tigergraph font la promotion et le travail sur le projet GQL. GSQL est un langage de Turing-Complete qui intègre le contrôle et l’itération des flux procéduraux, et une installation pour rassembler et modifier les valeurs calculées associées à une exécution de programme pour l’ensemble du graphique ou pour les éléments d’un graphique appelé accumulateurs. Ces fonctionnalités sont conçues pour permettre à des calculs de graphes itératifs d’être combinés avec l’exploration et la récupération des données. Les graphiques GSQL doivent être décrits par un schéma de sommets et de bords, ce qui limite toutes les insertions et mises à jour. Ce schéma a donc la propriété mondiale fermée d’un schéma SQL, et cet aspect de GSQL (également reflété dans les propositions de conception dérivant du projet Morpheus [39] ) est proposé comme une caractéristique facultative importante de GQL.

Les sommets et les bords sont nommés objets de schéma qui contiennent des données mais définissent également un type imputé, tout comme les tables SQL sont des conteneurs de données, avec un type de ligne implicite associé. Les graphiques GSQL sont ensuite composés à partir de ces ensembles de sommets et de bords, et plusieurs graphiques nommés peuvent inclure le même sommet de sommet ou de bord. GSQL a développé de nouvelles fonctionnalités depuis sa sortie en septembre 2017, [40] Introduire notamment la correspondance du motif de bord de longueur variable [41] Utilisation d’une syntaxe liée à celle observée dans Cypher, PGQL et SQL / PGQ, mais également fermer avec style avec les modèles de longueur fixe offerts par Microsoft SQL / Server Graph [42]

GSQL soutient également le concept de multigraphes [43] qui permettent aux sous-ensembles d’un graphique d’avoir un contrôle d’accès basé sur les rôles. Les multigraphes sont importants pour les graphiques à l’échelle de l’entreprise qui ont besoin d’un contrôle d’accès à grains fins pour différents utilisateurs.

Morpheus: plusieurs graphiques et requêtes de graphe composables dans Apache Spark [ modifier ]]

Le projet OpenCypher Morpheus [29] implémente Cypher pour les utilisateurs d’Apache Spark. En commençant en 2016, ce projet a initialement exécuté trois efforts connexes, dans lesquels les concepteurs de Morpheus ont également participé: SQL / PGQ, G-Core et conception des extensions de cypher pour interroger et construire plusieurs graphiques. [44] Le projet Morpheus a agi comme un banc d’essai pour les extensions à Cypher (connu sous le nom de “Cypher 10”) dans les deux domaines du DDL graphique et des extensions de langage de requête.

Les fonctionnalités DDL graphiques incluent [45]

  1. Définition des vues du graphique de la propriété sur les tables SQL connectées à JDBC et Spark DataFrames [quarante-six]
  2. Définition des schémas de graphiques ou des types définis en assemblant les modèles de type de nœud et de type de bord, avec sous-type [quarante-six]
  3. contraindre le contenu d’un graphique par un schéma fermé ou fixe
  4. Création d’entrées de catalogue pour plusieurs graphiques nommés dans un catalogue organisé hiérarchiquement
  5. graphiquement des sources de données pour former un catalogue fédéré et hétérogène
  6. Création d’entrées de catalogue pour les requêtes nommées (vues)

Les extensions de langage de requête graphique incluent [45]

  1. Union graphique
  2. Projection des graphiques calculés à partir des résultats des correspondances de motifs sur plusieurs graphiques d’entrée
  3. Prise en charge des tables (Spark DataFrames) comme entrées aux requêtes (“Tables de conduite”)
  4. vues qui acceptent les graphiques nommés ou projetés comme paramètres.

Ces fonctionnalités ont été proposées comme entrées à la normalisation des langages de requête du graphique de propriété dans le projet GQL.

Voir également [ modifier ]]

Les références [ modifier ]]

  1. ^ “ISO / IEC 39075 Technologies de l’information – Langues de base de données – GQL” . ISO . Récupéré 7 janvier, 2022 . {{cite web}} : CS1 MAINT: URL-statut (lien)
  2. ^ “SC32 WG3 N282″ SC32 N3002 Draft NWIP Form4 Technologies de l’information – Langues de base de données – GQL ” . ISO . Récupéré 9 décembre, 2019 .
  3. ^ Green, Alastair (juillet 2016). Création d’une norme de l’industrie ouverte pour un langage de requête graphique de propriété déclarative (PDF) . Opencyper.org . Récupéré 12 novembre, 2019 .
  4. ^ un b Green, Alastair (juillet 2018). Travailler vers un nouvel élément de travail pour GQL, pour compléter SQL PGQ , ANSI incite la soumission DM32.2 DM32.2-2018-00128R1 (PDF) . Opencyper.org . Récupéré 12 novembre, 2019 .
  5. ^ Eds. Plantikow, Stefan; Cann, Stephen (octobre 2019). GQl Early Working Draft v2.2 . ISO . Récupéré 9 novembre, 2019 .
  6. ^ Mises à jour de la communauté GQL . Récupéré 12 novembre, 2019 .
  7. ^ Libkin, Leonid. Groupe de travail de sémantique formelle . Récupéré 12 novembre, 2019 .
  8. ^ “Apache Tinkerpop” . Fondation du logiciel Apache . Récupéré 11 novembre, 2019 .
  9. ^ “Parser GQL” . Github . Récupéré 18 janvier, 2021 .
  10. ^ “Première mise en œuvre de la recherche GQL d’Olof Morra à Tu Eindhoven!” . Alastair Green . Récupéré 18 janvier, 2021 .
  11. ^ “Une sémantique de GQL; un nouveau langage de requête pour les graphiques de propriété formalisés” (PDF) . Olof Morra . Récupéré 18 janvier, 2021 .
  12. ^ “JTC 1 / SC 32 Gestion des données et interchanges” . ISO / IEC JTC1 . Récupéré 6 octobre, 2019 .
  13. ^ Portée de la norme d’origine, ISO 9075-1987, Database Language SQL . ISO / IEC JTC1 . Récupéré 9 novembre, 2019 .
  14. ^ un b Lindaaker, Tobias (mai 2018). Un aperçu de l’histoire récente des langages de requête graphique (PDF) . Opencyper.org . Récupéré 6 octobre, 2019 .
  15. ^ Plantikow, Stefan (mai 2018). Résumé de Cypher, PGQL et G-Core (PDF) . Opencyper.org . Récupéré 3 novembre, 2019 .
  16. ^ Rodriguez, Marko A. (2015). La machine et le langage de traverse Gremlin Graph (Talk invité). Dans les actes du 15e symposium sur les langages de programmation de base de données (DBPL 2015). ACM, New York, NY, États-Unis, 1-10. Doi: 10.1145 / 2815072.2815073 . ACM. est ce que je: 10.1145 / 2815072 . ISBN 9781450339025 . S2cid 32623848 . Récupéré 10 novembre, 2019 .
  17. ^ un b Mingxi; Deutsch, Alin. GSQL: un langage de requête graphique inspiré du SQL . Récupéré 9 novembre, 2019 .
  18. ^ Wood, Peter T. (25 avril 2012). Langages de requête pour les bases de données de graphiques. , Sigmod Rec. 41, 1 (avril 2012), 50-60. Doi: 10.1145 / 2206869.2206879 ” . Record ACM Sigmod . ACM. 41 (1): 50–60. est ce que je: 10.1145 / 2206869.2206879 . S2cid 13537601 . Récupéré 25 octobre, 2019 .
  19. ^ Angles, Renzo; et al. (Septembre 2017). Fondations des langages de requête modernes pour les bases de données de graphiques , ACM Comput. Surv. 50, 5, doi: 10.1145 / 3104031 ” . Enquêtes informatiques ACM . ACM. 50 (5): 68: 1–68: 40. arXiv: 1610.06264 . est ce que je: 10.1145 / 3104031 . S2cid 13526884 . Récupéré 12 novembre, 2019 .
  20. ^ “ISO / IEC 9075-16 Technologies de l’information – Langues de base de données SQL – Partie 16: Requêtes de graphique de propriété SQL (SQL / PGQ)” . ISO . Récupéré 7 janvier, 2022 . {{cite web}} : CS1 MAINT: URL-statut (lien)
  21. ^ un b Hare, Keith; et al. (Mars 2019). SQL et GQL , Atelier W3C sur la normalisation Web pour les données du graphique. Création de ponts: RDF, graphique de propriété et SQL ” (PDF) . W3C . Récupéré 6 octobre, 2019 .
  22. ^ Trigonakis, Vasileios (juillet 2019). Extensions de graphe de propriété pour la norme SQL . LDBC 12th TUC ” (PDF) . LBDC . Récupéré 7 janvier, 2022 .
  23. ^ Deutsch, Alin; Francis, Nadime; Vert, Alastair; Hare, Keith; Li, Bei; Libkin, Leonid; Lindaaker, Tobias; Marsault, Victor; Martens, Wim; Michels, Jan; et al. (2021-12-12). “Graphique de correspondance dans GQL et SQL / PGQ” ArXiv: 2112.06217 [ CS.DB ].
  24. ^ Francis, Nadime; et al. (27 mai 2018). Cypher: un langage de requête en évolution pour les graphiques de propriété. Dans les actes de la Conférence internationale de 2018 sur la gestion des données (Sigmod ’18). ACM, New York, NY, États-Unis, 1433-1445. Doi: 10.1145 / 3183713.3190657 . Sigmod ’18. ACM. pp. 1433–1445. est ce que je: 10.1145 / 3183713.3190657 . ISBN 9781450347037 . S2cid 13919896 . Récupéré 25 octobre, 2019 .
  25. ^ Référence du langage de la requête Cypher (version 9) (PDF) . Opencyper.org . Récupéré 10 novembre, 2019 .
  26. ^ Ressources d’OpencyPher . ACM . Récupéré 10 novembre, 2019 .
  27. ^ CIP2015-08-06 – Date et heure . OpenCyPher.org. 15 mai 2019 . Récupéré 25 octobre, 2019 .
  28. ^ un b Rydberg, Mats; et al. (Juillet 2016). Morpheus amène le langage de requête graphique leader, Cypher, sur la plate-forme de traitement distribuée principale, Spark. . opencepher . Récupéré 3 novembre, 2019 .
  29. ^ Van Rest, Oskar; et al. (Juin 2016). PGQL: un langage de requête graphique de propriété . Dans les actes du quatrième atelier international sur les expériences et systèmes de gestion des données de graphiques (notes ’16). ACM, New York, NY, États-Unis. Doi: 10.1145 / 2960414.2960421 ” . ACM. est ce que je: 10.1145 / 2960414.2960421 . S2cid 6806901 . Récupéré 25 octobre, 2019 .
  30. ^ “Pgql” . Pgql.org . Récupéré 6 octobre, 2019 .
  31. ^ Van Rest, Oskar; et al. (Septembre 2015). PGQL est un langage de requête basé sur SQL pour le modèle de données du graphique de la propriété . Pgql.org . Récupéré 3 novembre, 2019 .
  32. ^ Roth, Nicholas P.; et al. (2017). Pgx.d / async: un moteur de correspondance de motif de graphe distribué évolutif . Dans les actes du cinquième atelier international sur les expériences et systèmes de gestion des données graphiques (grades de 17). ACM, New York, NY, États-Unis, article 7, 6 pages. Doi: 10.1145 / 3078447.3078454 ” . ACM. est ce que je: 10.1145 / 3078447.3078454 . S2cid 26283328 . Récupéré 29 octobre, 2019 .
  33. ^ Angles, Renzo; et al. (2018). G-Core: un noyau pour les futures langages de requête graphique. Dans les actes de la Conférence internationale de 2018 sur la gestion des données (Sigmod ’18). ACM, New York, NY, États-Unis, 1421-1432. Doi: 10.1145 / 3183713.3190654 ” . ACM. est ce que je: 10.1145 / 3183713.3190654 . S2cid 4623760 . Récupéré 9 novembre, 2019 .
  34. ^ Voigt, Hannes (février 2018). G-Core: la proposition de langue de requête du graphique LDBC . Dans Archives of Fosdem 2018 ” . Récupéré 12 novembre, 2019 .
  35. ^ Van Rest, Oskar (2017). Grammaire et analyseur G-Core . LDBC . Récupéré 12 novembre, 2019 .
  36. ^ Ciocîrdel, Georgiana Diana (2018). Un interprète G-Core (Graph Query Language) , Thèse de maîtrise dans les systèmes informatiques parallèles et distribués, CWI et Université VU Amsterdam ” (PDF) . CWI . Récupéré 12 novembre, 2019 .
  37. ^ Ciocîrdel, Georgiana Diana; Boncz, Peter (2017). Interprète G-Core sur Spark . LDBC . Récupéré 12 novembre, 2019 .
  38. ^ Voigt, Hannes; Selmer, Petra; Lindaaker, Tobias; Plantikow, Stefan; Vert, Alastair; Furniss, Peter (décembre 2018). Schéma de graphique de propriété , ANSI incite DM32.2 Extensions de graphiques de la propriété SQL Soumission ad hoc SQL-PG-2018-0056R1 , Neo4J Query Languages ​​Standards and Research Team ” (PDF) . Opencyper.org . Récupéré 12 novembre, 2019 .
  39. ^ Documentation GSQL Tigergraph 1.0 . 2017 . Récupéré 9 novembre, 2019 .
  40. ^ Correspondance de motifs , Tigergraph 2.4 Remarques de libération ” . Juin 2019 . Récupéré 9 novembre, 2019 .
  41. ^ Extensions de la langue de requête , Traitement de graphiques avec SQL Server et Azure SQL Base ” . Microsoft Inc. 2017 . Récupéré 10 novembre, 2019 .
  42. ^ Multigraphes , Documentation en ligne Tigergraph ” . Juin 2019 . Récupéré 7 janvier, 2022 .
  43. ^ Taylor, Andrés; Plantikow, Stefan; Selmer, Petra (2017-2018). CIP2017-06-18 interroge et construire plusieurs graphiques . Opencyper.org . Récupéré 12 novembre, 2019 .
  44. ^ un b Kiessling, Max (2019). Plusieurs graphiques et requêtes composables dans Cypher pour Apache Spark . Réunion d’empreintes d’OpenCyPher Meeting V, Berlin ” (PDF) . Opencyper.org . Récupéré 9 novembre, 2019 .
  45. ^ un b Johanssen, Tobias; et al. (2019). Graphddl-Example-LDBC: Un exemple de Cypher-for-Apache-Spark montrant l’utilisation de SQLPropertyGraphSource et GraphDDL pour fournir une vue de graphique de propriété d’un ensemble de données SQL . Github . Récupéré 9 novembre, 2019 .

Liens externes [ modifier ]]

after-content-x4