SlideShare a Scribd company logo
CREATE [ABSTRACT] TYPE Identifier [EXTENDS Identifier] [ATTRIBUTES(AttrIdentifier          Integer, UnsignedInteger, Double, String, Boolean, DateTime, BackwardEdge, List<Primitive-
[=DefaultValue])] [BACKWARDEDGES(BackwardEdge [,BackwardEdge])] [UNIQUE(Identifier         Datatype>, Set<Userdefined-Datatype>
[,Identifier])] [MANDATORY(Identifier [,Identifier])] [INDICES(IndexOptOnCreateType)]

                                                                                           COUNT | AVG | MIN | MAX | SUM
CREATE TYPES [[ABSTRACT] bulk_type_list_member] [,[ABSTRACT]bulk_type_list_member]]

                                                                                           CONCAT | TOUPPER | MAXWEIGHT | SUBSTRING | TOP | CURRENTDATE
ALTER   TYPE   Identifier   ADD ATTRIBUTES(attr_definition [,attr_definition])|
ALTER   TYPE   Identifier   DROP ATTRIBUTES (Identifier [,Identifier]) |
ALTER   TYPE   Identifier   ADD BACKWARDEDGES (BackwardEdge [,BackwardEdge]) |             Comments within lines start with /* and end with */
ALTER   TYPE   Identifier   DROP BACKWARDEDGES (Identifier [,Identifier]) |
ALTER   TYPE   Identifier   RENAME ATTRIBUTE Identifier TO Identifier |
ALTER   TYPE   Identifier   RENAME TO Identifier |                                         DESCRIBE INDICES | DESCRIBE INDEX Identifier [edition] |
ALTER   TYPE   Identifier   RENAME BACKWARDEDGE Identifier TO Identifier |                 DESCRIBE EDGES | DESCRIBE EDGE Identifier |
ALTER   TYPE   Identifier   UNIQUE (Identifier [,Identifier]) |                            DESCRIBE FUNCTIONS | DESCRIBE FUNCTION Identifier |
ALTER   TYPE   Identifier   DROP UNIQUE                                                    DESCRIBE AGGREGATES | DESCRIBE AGGREGATE Identifier |
                                                                                           DESCRIBE SETTINGS [ON TYPE TypeIdentifier | ON ATTRIBUTE attr_definition | ON DB | ON
                                                                                           SESSION] | DESCRIBE SETTING Identifier [ON TYPE TypeIdentifier | ON ATTRIBUTE attr_definition
DROP TYPE Identifier                                                                       | ON DB | ON SESSION] |
                                                                                           DESCRIBE TYPES | DESCRIBE TYPE TypeIdentifier

TRUNCATE Identifier
                                                                                           SETTING DB SettingOperation (= SET ("SettingName"=value [,"SettingName"=value]) | GET           <sones version="1.0">
                                                                                           ("SettingName" [,"SettingName"]) | REMOVE ("SettingName" [,"SettingName"])                         <GraphDB version="1.0">
CREATE INDEX identifier [EDITION identifier] ON identifier (index_attribute_list)          SETTING SESSION SettingOperation | SETTING TYPE Identifier SettingOperation |
[INDEXTYPE Identifier]                                                                                                                                                                           <queryresult version="1.0">
                                                                                           SETTING ATTRIBUTE Identifier SettingOperation
                                                                                           SettingName = (DEPTH, SETREADONLY, TYPE, UUID, SHOWREVISION, SELECTTIMEOUT)
                                                                                                                                                                                                     <query>FROM UserProfile u SELECT *</query>
                                                                                                                                                                                                     <result>Successful</result>
REBUILD INDICES                                                                                                                                                                                      <duration resolution="ms">1</duration>
REBUILD INDICES TypeIdentifier [,TypeIdentifier]                                           DUMP [{GDDL|GDML|ALL}] [AS {GQL,CSV}]                                                                     <warnings />
                                                                                                                                                                                                     <errors />
FROM Identifier DROP INDEX IndexIdentifier [EDITION EditionIdentifier]
                                                                                           FROM Identifier alias [,Identifier Alias] SELECT * | selection_list
                                                                                                                                                                                                     <results>
                                                                                           [WHERE where_condition] [GROUP BY group_expr] [ORDER BY order_expr] [OFFSET offset_expr]                     <DBObject>
                                                                                           [LIMIT limit_expr] [DEPTH depth_expr]                                                                           <attribute name="Username" type="String">User1</attribute>
INSERT INTO Identifier VALUES (AttrAssign [,AttrAssign]) [WHERE where_condition]
                                                                                                                                                                                                           <attribute name="Age" type="Int64">25</attribute>
AttrAssign = [idNode=Value]|[idNode={REF(..),REFUUID(..),SETOF(..),LISTOF(..),SETOFUUIDS                                                                                                                </DBObject>
(..)}                                                                                                                                                                                                </results>
                                                                                                                                                                                                 </queryresult>
INSERTORUPDATE Identifier VALUES (AttrAssign [,AttrAssign]) [WHERE where_condition]                                                                                                           </GraphDB>
                                                                                                                „describe type“ command (URL encoded)                                      </sones>

INSERTORREPLACE Identifier VALUES (AttrAssign [,AttrAssign]) [WHERE where_condition]


                                                                                                       GET /gql?describe%20types HTTP/1.1
UPDATE Identifier SET (update_attr_element [,update_attr_element]) [WHERE
                                                                                                       Host: databaseserver.domain                            Server-Hostname              {
where_condition]
                                                                                                       Accept: application/json; utf-8                                                         "query": "FROM User u SELECT *",
                                                                                                                                                                                               "result": "Successful",
REPLACE Identifier VALUES (AttrAssign [,AttrAssign]) WHERE where_condition                                                                                                                     "warnings": [],
                                                                                                                                                                                               "errors": [],
                                                                                                    application/json       application/xml       text/plain      text/html
FROM Identifier DELETE [id] [WHERE where_condition]
                                                                                                                                                                                               "results":
                                                                                                                                                                                               [{
                                                                                                                                                                                                "Username": "User1",
BEGIN [DISTRIBUTED] | [LONG-RUNNING] | [DISTRIBUTED LONG-RUNNING] TRANSACTION [ISOLATION                                                                                                        "Age": "25"
                                                                                                     GET /Logfile
= {Full | Read | Write}] [Name=transaction_name] [TIMESTAMPE=transaction_timestamp]
                                                                                                                                                                                                }],
                                                                                                                                                                                               "Duration": ["1","ms"]
COMMIT TRANSACTION [Name=transaction_name] [ASYNC]                                                                                                                                         }


ROLLBACK TRANSACTION [Name=transaction_name] [ASYNC]
CREATE TYPE                                                                               INSERT INTO
   UserProfile ATTRIBUTES (String Username, Integer Age, SET<UserProfile> Friends)           UserProfile VALUES (Name = "User1", Age = 25)
   BACKWARDEDGES (UserProfile.Friends FriendOf)                                           INSERT INTO
   UNIQUE (Username)                                                                         UserProfile VALUES (Name = "User2", Age = 22, Friends = SETOF(Name = "User1"))
   MANDATORY (Username)                                                                   INSERT INTO
CREATE TYPE                                                                                  UserProfile VALUES (Name = "User3" Father = REF(Name = "User1"), Enemies = SETOF(Name = "User2"))
   SecondUserProfile EXTENDS UserProfile ATTRIBUTES (SET<UserProfile> Enemies)            INSERT INTO
CREATE TYPE
                                                                                             UserProfile VALUES (Name = "User4", WeightedFriends = SETOF(Name = "User1":(1.2)))
   ThirdUserProfile EXTENDS UserProfile ATTRIBUTES (LIST<String> Hobbies)
                                                                                          INSERT INTO
                                                                                             ThirdUserProfile VALUES (Name = "User5", Hobbies = LISTOF("Books","Music"))
                                                                                          INSERT INTO
CREATE TYPES                                                                                 UserProfile VALUES (Name = "UndefinedAttributeUser", Weight = 70.1) /* Undefined Attribute */
    Tag ATTRIBUTES (String Name) BACKWARDEDGES (Website.Tags TaggedSite) INDICES (Name)
    Website ATTRIBUTES (String Name, String URL, SET<Tag> Tags) INDICES (Name)

                                                                                          FROM UserProfile U SELECT U.Friends.Friends.Name WHERE U.Name = "User1"
                                                                                          FROM UserProfile U SELECT U.Name WHERE U.Friends.Friends.Name = "User1"
ALTER TYPE
                                                                                          FROM UserProfile U SELECT U.Friends.Count()
    UserProfile ADD ATTRIBUTES (SET<UserProfile> Enemies, UserProfile Father)
ALTER TYPE
    UserProfile ADD BACKWARDEDGES (UserProfile.Enemies EnemyOf)
ALTER TYPE
    UserProfile ADD ATTRIBUTES (SET<WEIGHTED(Double, DEFAULT = 1.5, SORTED = DESC)                                                                                  FROM UserProfile U
    <UserProfile>> WeightedFriends )                                                      DESCRIBE   TYPES                                                             SELECT U.Name.CONCAT("-> Age:", U.Age) AS "Name"
                                                                                          DESCRIBE   TYPE UserProfile                                               FROM UserProfile U
                                                                                          DESCRIBE   SETTING Depth ON TYPE UserProfile                                 SELECT U.Name, CURRENTDATE()
                                                                                          DESCRIBE   SETTING Depth ON ATTRIBUTE UserProfile.Friends                 FROM UserProfile U
DROP TYPE SecondUserProfile                                                               DESCRIBE   SETTINGS ON DB                                                    SELECT U.WeightedFriends.MAXWEIGHT()
                                                                                          DESCRIBE   INDEX Tag.Name                                                 FROM UserProfile U
                                                                                          DESCRIBE   FUNCTION CONCAT                                                   SELECT U.Name.SUBSTRING(2,3)
                                                                                                                                                                    FROM UserProfile U
FROM UserProfile DROP INDEX IDX_Name                                                                                                                                   SELECT U.Friends.Path(S.Name = "User1", 10, 10, "true", "false")
                                                                                                                                                                       WHERE U.Name = "User2" DEPTH 1
                                                                                          SETTING TYPE User SET („DEPTH“=2)

CREATE INDEX
    IDX_Name ON UserProfile(Name) INDEXTYPE Hashtable                                                                                                               FROM UserProfile U
                                                                                                                                                                       SELECT AVG(U.Age)
                                                                                          UPDATE                                                                    FROM UserProfile U
                                                                                             UserProfile SET (Friends += SETOF(Name="User2", Name="User4")             SELECT AVG(U.Age), U.Name
TRUNCATE UserProfile                                                                         WHERE Name = "User3"                                                      GROUP BY U.Name
                                                                                                                                                                       OFFSET 10
                                                                                                                                                                       LIMIT 10

INSERTORUPDATE                                                                            REPLACE
    UserProfile VALUES (Name = "User1", Age = 40) WHERE Name = "User1"                       UserProfile VALUES (Name = "User1", Age = 50)
INSERTORUPDATE                                                                               WHERE Name= "User1-new"
    UserProfile VALUES (Name = "User5") WHERE Name = "User5"


                                                                                          FROM UserProfile DELETE WHERE Name = "User1"
INSERTORREPLACE
   UserProfile VALUES (Name = "User1-new", Age = 50) WHERE Name = "User1"

More Related Content

What's hot

4Developers 2018: Structuring React components (Bartłomiej Witczak)
4Developers 2018: Structuring React components (Bartłomiej Witczak)4Developers 2018: Structuring React components (Bartłomiej Witczak)
4Developers 2018: Structuring React components (Bartłomiej Witczak)
PROIDEA
 
Structuring React.js Components
Structuring React.js ComponentsStructuring React.js Components
Structuring React.js Components
Bartek Witczak
 
Type safe embedded domain-specific languages
Type safe embedded domain-specific languagesType safe embedded domain-specific languages
Type safe embedded domain-specific languages
Arthur Xavier
 
Introduction to Active Record - Silicon Valley Ruby Conference 2007
Introduction to Active Record - Silicon Valley Ruby Conference 2007Introduction to Active Record - Silicon Valley Ruby Conference 2007
Introduction to Active Record - Silicon Valley Ruby Conference 2007
Rabble .
 
DOM and Events
DOM and EventsDOM and Events
DOM and Events
Julie Iskander
 
J query1
J query1J query1
J query1
Manav Prasad
 
Modern Application Foundations: Underscore and Twitter Bootstrap
Modern Application Foundations: Underscore and Twitter BootstrapModern Application Foundations: Underscore and Twitter Bootstrap
Modern Application Foundations: Underscore and Twitter Bootstrap
Howard Lewis Ship
 
An introduction to javascript
An introduction to javascriptAn introduction to javascript
An introduction to javascripttonyh1
 
J query
J queryJ query
J query
Manav Prasad
 
Web 6 | JavaScript DOM
Web 6 | JavaScript DOMWeb 6 | JavaScript DOM
Web 6 | JavaScript DOM
Mohammad Imam Hossain
 
Doctrator Symfony Live 2011 San Francisco
Doctrator Symfony Live 2011 San FranciscoDoctrator Symfony Live 2011 San Francisco
Doctrator Symfony Live 2011 San Franciscopablodip
 
Backbone js
Backbone jsBackbone js
Backbone js
rstankov
 
Why ruby
Why rubyWhy ruby
Why ruby
rstankov
 
Ruby/Rails
Ruby/RailsRuby/Rails
Ruby/Rails
rstankov
 
Your Entity, Your Code
Your Entity, Your CodeYour Entity, Your Code
Your Entity, Your Code
Marco Vito Moscaritolo
 
Юрий Буянов «Squeryl — ORM с человеческим лицом»
Юрий Буянов «Squeryl — ORM с человеческим лицом»Юрий Буянов «Squeryl — ORM с человеческим лицом»
Юрий Буянов «Squeryl — ORM с человеческим лицом»e-Legion
 
Introduction to hibernate
Introduction to hibernateIntroduction to hibernate
Introduction to hibernate
Muhammad Zeeshan
 
Drupal Entities - Emerging Patterns of Usage
Drupal Entities - Emerging Patterns of UsageDrupal Entities - Emerging Patterns of Usage
Drupal Entities - Emerging Patterns of Usage
Ronald Ashri
 
SenchaCon 2016: Handle Real-World Data with Confidence - Fredric Berling
SenchaCon 2016: Handle Real-World Data with Confidence - Fredric Berling SenchaCon 2016: Handle Real-World Data with Confidence - Fredric Berling
SenchaCon 2016: Handle Real-World Data with Confidence - Fredric Berling
Sencha
 

What's hot (20)

4Developers 2018: Structuring React components (Bartłomiej Witczak)
4Developers 2018: Structuring React components (Bartłomiej Witczak)4Developers 2018: Structuring React components (Bartłomiej Witczak)
4Developers 2018: Structuring React components (Bartłomiej Witczak)
 
Structuring React.js Components
Structuring React.js ComponentsStructuring React.js Components
Structuring React.js Components
 
Type safe embedded domain-specific languages
Type safe embedded domain-specific languagesType safe embedded domain-specific languages
Type safe embedded domain-specific languages
 
Introduction to Active Record - Silicon Valley Ruby Conference 2007
Introduction to Active Record - Silicon Valley Ruby Conference 2007Introduction to Active Record - Silicon Valley Ruby Conference 2007
Introduction to Active Record - Silicon Valley Ruby Conference 2007
 
DOM and Events
DOM and EventsDOM and Events
DOM and Events
 
J query1
J query1J query1
J query1
 
Modern Application Foundations: Underscore and Twitter Bootstrap
Modern Application Foundations: Underscore and Twitter BootstrapModern Application Foundations: Underscore and Twitter Bootstrap
Modern Application Foundations: Underscore and Twitter Bootstrap
 
An introduction to javascript
An introduction to javascriptAn introduction to javascript
An introduction to javascript
 
J query
J queryJ query
J query
 
Mpg Dec07 Gian Lorenzetto
Mpg Dec07 Gian Lorenzetto Mpg Dec07 Gian Lorenzetto
Mpg Dec07 Gian Lorenzetto
 
Web 6 | JavaScript DOM
Web 6 | JavaScript DOMWeb 6 | JavaScript DOM
Web 6 | JavaScript DOM
 
Doctrator Symfony Live 2011 San Francisco
Doctrator Symfony Live 2011 San FranciscoDoctrator Symfony Live 2011 San Francisco
Doctrator Symfony Live 2011 San Francisco
 
Backbone js
Backbone jsBackbone js
Backbone js
 
Why ruby
Why rubyWhy ruby
Why ruby
 
Ruby/Rails
Ruby/RailsRuby/Rails
Ruby/Rails
 
Your Entity, Your Code
Your Entity, Your CodeYour Entity, Your Code
Your Entity, Your Code
 
Юрий Буянов «Squeryl — ORM с человеческим лицом»
Юрий Буянов «Squeryl — ORM с человеческим лицом»Юрий Буянов «Squeryl — ORM с человеческим лицом»
Юрий Буянов «Squeryl — ORM с человеческим лицом»
 
Introduction to hibernate
Introduction to hibernateIntroduction to hibernate
Introduction to hibernate
 
Drupal Entities - Emerging Patterns of Usage
Drupal Entities - Emerging Patterns of UsageDrupal Entities - Emerging Patterns of Usage
Drupal Entities - Emerging Patterns of Usage
 
SenchaCon 2016: Handle Real-World Data with Confidence - Fredric Berling
SenchaCon 2016: Handle Real-World Data with Confidence - Fredric Berling SenchaCon 2016: Handle Real-World Data with Confidence - Fredric Berling
SenchaCon 2016: Handle Real-World Data with Confidence - Fredric Berling
 

More from sones GmbH

sones company presentation
sones company presentationsones company presentation
sones company presentation
sones GmbH
 
sones NoSQL GraphDatenbank für Bilderportale
sones NoSQL GraphDatenbank für Bilderportalesones NoSQL GraphDatenbank für Bilderportale
sones NoSQL GraphDatenbank für Bilderportalesones GmbH
 
sones auf windows azure whitepaper (german)
sones auf windows azure whitepaper (german)sones auf windows azure whitepaper (german)
sones auf windows azure whitepaper (german)sones GmbH
 
sones on windows azure whitepaper (english)
sones on windows azure whitepaper (english)sones on windows azure whitepaper (english)
sones on windows azure whitepaper (english)sones GmbH
 
Whitepaper sones GraphDB (ger)
Whitepaper sones GraphDB (ger)Whitepaper sones GraphDB (ger)
Whitepaper sones GraphDB (ger)sones GmbH
 
Whitepaper sones GraphDB (eng)
Whitepaper sones GraphDB (eng)Whitepaper sones GraphDB (eng)
Whitepaper sones GraphDB (eng)sones GmbH
 

More from sones GmbH (6)

sones company presentation
sones company presentationsones company presentation
sones company presentation
 
sones NoSQL GraphDatenbank für Bilderportale
sones NoSQL GraphDatenbank für Bilderportalesones NoSQL GraphDatenbank für Bilderportale
sones NoSQL GraphDatenbank für Bilderportale
 
sones auf windows azure whitepaper (german)
sones auf windows azure whitepaper (german)sones auf windows azure whitepaper (german)
sones auf windows azure whitepaper (german)
 
sones on windows azure whitepaper (english)
sones on windows azure whitepaper (english)sones on windows azure whitepaper (english)
sones on windows azure whitepaper (english)
 
Whitepaper sones GraphDB (ger)
Whitepaper sones GraphDB (ger)Whitepaper sones GraphDB (ger)
Whitepaper sones GraphDB (ger)
 
Whitepaper sones GraphDB (eng)
Whitepaper sones GraphDB (eng)Whitepaper sones GraphDB (eng)
Whitepaper sones GraphDB (eng)
 

Recently uploaded

PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 

Recently uploaded (20)

PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 

GQL CheatSheet 1.1

  • 1. CREATE [ABSTRACT] TYPE Identifier [EXTENDS Identifier] [ATTRIBUTES(AttrIdentifier Integer, UnsignedInteger, Double, String, Boolean, DateTime, BackwardEdge, List<Primitive- [=DefaultValue])] [BACKWARDEDGES(BackwardEdge [,BackwardEdge])] [UNIQUE(Identifier Datatype>, Set<Userdefined-Datatype> [,Identifier])] [MANDATORY(Identifier [,Identifier])] [INDICES(IndexOptOnCreateType)] COUNT | AVG | MIN | MAX | SUM CREATE TYPES [[ABSTRACT] bulk_type_list_member] [,[ABSTRACT]bulk_type_list_member]] CONCAT | TOUPPER | MAXWEIGHT | SUBSTRING | TOP | CURRENTDATE ALTER TYPE Identifier ADD ATTRIBUTES(attr_definition [,attr_definition])| ALTER TYPE Identifier DROP ATTRIBUTES (Identifier [,Identifier]) | ALTER TYPE Identifier ADD BACKWARDEDGES (BackwardEdge [,BackwardEdge]) | Comments within lines start with /* and end with */ ALTER TYPE Identifier DROP BACKWARDEDGES (Identifier [,Identifier]) | ALTER TYPE Identifier RENAME ATTRIBUTE Identifier TO Identifier | ALTER TYPE Identifier RENAME TO Identifier | DESCRIBE INDICES | DESCRIBE INDEX Identifier [edition] | ALTER TYPE Identifier RENAME BACKWARDEDGE Identifier TO Identifier | DESCRIBE EDGES | DESCRIBE EDGE Identifier | ALTER TYPE Identifier UNIQUE (Identifier [,Identifier]) | DESCRIBE FUNCTIONS | DESCRIBE FUNCTION Identifier | ALTER TYPE Identifier DROP UNIQUE DESCRIBE AGGREGATES | DESCRIBE AGGREGATE Identifier | DESCRIBE SETTINGS [ON TYPE TypeIdentifier | ON ATTRIBUTE attr_definition | ON DB | ON SESSION] | DESCRIBE SETTING Identifier [ON TYPE TypeIdentifier | ON ATTRIBUTE attr_definition DROP TYPE Identifier | ON DB | ON SESSION] | DESCRIBE TYPES | DESCRIBE TYPE TypeIdentifier TRUNCATE Identifier SETTING DB SettingOperation (= SET ("SettingName"=value [,"SettingName"=value]) | GET <sones version="1.0"> ("SettingName" [,"SettingName"]) | REMOVE ("SettingName" [,"SettingName"]) <GraphDB version="1.0"> CREATE INDEX identifier [EDITION identifier] ON identifier (index_attribute_list) SETTING SESSION SettingOperation | SETTING TYPE Identifier SettingOperation | [INDEXTYPE Identifier] <queryresult version="1.0"> SETTING ATTRIBUTE Identifier SettingOperation SettingName = (DEPTH, SETREADONLY, TYPE, UUID, SHOWREVISION, SELECTTIMEOUT) <query>FROM UserProfile u SELECT *</query> <result>Successful</result> REBUILD INDICES <duration resolution="ms">1</duration> REBUILD INDICES TypeIdentifier [,TypeIdentifier] DUMP [{GDDL|GDML|ALL}] [AS {GQL,CSV}] <warnings /> <errors /> FROM Identifier DROP INDEX IndexIdentifier [EDITION EditionIdentifier] FROM Identifier alias [,Identifier Alias] SELECT * | selection_list <results> [WHERE where_condition] [GROUP BY group_expr] [ORDER BY order_expr] [OFFSET offset_expr] <DBObject> [LIMIT limit_expr] [DEPTH depth_expr] <attribute name="Username" type="String">User1</attribute> INSERT INTO Identifier VALUES (AttrAssign [,AttrAssign]) [WHERE where_condition] <attribute name="Age" type="Int64">25</attribute> AttrAssign = [idNode=Value]|[idNode={REF(..),REFUUID(..),SETOF(..),LISTOF(..),SETOFUUIDS </DBObject> (..)} </results> </queryresult> INSERTORUPDATE Identifier VALUES (AttrAssign [,AttrAssign]) [WHERE where_condition] </GraphDB> „describe type“ command (URL encoded) </sones> INSERTORREPLACE Identifier VALUES (AttrAssign [,AttrAssign]) [WHERE where_condition] GET /gql?describe%20types HTTP/1.1 UPDATE Identifier SET (update_attr_element [,update_attr_element]) [WHERE Host: databaseserver.domain Server-Hostname { where_condition] Accept: application/json; utf-8 "query": "FROM User u SELECT *", "result": "Successful", REPLACE Identifier VALUES (AttrAssign [,AttrAssign]) WHERE where_condition "warnings": [], "errors": [], application/json application/xml text/plain text/html FROM Identifier DELETE [id] [WHERE where_condition] "results": [{ "Username": "User1", BEGIN [DISTRIBUTED] | [LONG-RUNNING] | [DISTRIBUTED LONG-RUNNING] TRANSACTION [ISOLATION "Age": "25" GET /Logfile = {Full | Read | Write}] [Name=transaction_name] [TIMESTAMPE=transaction_timestamp] }], "Duration": ["1","ms"] COMMIT TRANSACTION [Name=transaction_name] [ASYNC] } ROLLBACK TRANSACTION [Name=transaction_name] [ASYNC]
  • 2. CREATE TYPE INSERT INTO UserProfile ATTRIBUTES (String Username, Integer Age, SET<UserProfile> Friends) UserProfile VALUES (Name = "User1", Age = 25) BACKWARDEDGES (UserProfile.Friends FriendOf) INSERT INTO UNIQUE (Username) UserProfile VALUES (Name = "User2", Age = 22, Friends = SETOF(Name = "User1")) MANDATORY (Username) INSERT INTO CREATE TYPE UserProfile VALUES (Name = "User3" Father = REF(Name = "User1"), Enemies = SETOF(Name = "User2")) SecondUserProfile EXTENDS UserProfile ATTRIBUTES (SET<UserProfile> Enemies) INSERT INTO CREATE TYPE UserProfile VALUES (Name = "User4", WeightedFriends = SETOF(Name = "User1":(1.2))) ThirdUserProfile EXTENDS UserProfile ATTRIBUTES (LIST<String> Hobbies) INSERT INTO ThirdUserProfile VALUES (Name = "User5", Hobbies = LISTOF("Books","Music")) INSERT INTO CREATE TYPES UserProfile VALUES (Name = "UndefinedAttributeUser", Weight = 70.1) /* Undefined Attribute */ Tag ATTRIBUTES (String Name) BACKWARDEDGES (Website.Tags TaggedSite) INDICES (Name) Website ATTRIBUTES (String Name, String URL, SET<Tag> Tags) INDICES (Name) FROM UserProfile U SELECT U.Friends.Friends.Name WHERE U.Name = "User1" FROM UserProfile U SELECT U.Name WHERE U.Friends.Friends.Name = "User1" ALTER TYPE FROM UserProfile U SELECT U.Friends.Count() UserProfile ADD ATTRIBUTES (SET<UserProfile> Enemies, UserProfile Father) ALTER TYPE UserProfile ADD BACKWARDEDGES (UserProfile.Enemies EnemyOf) ALTER TYPE UserProfile ADD ATTRIBUTES (SET<WEIGHTED(Double, DEFAULT = 1.5, SORTED = DESC) FROM UserProfile U <UserProfile>> WeightedFriends ) DESCRIBE TYPES SELECT U.Name.CONCAT("-> Age:", U.Age) AS "Name" DESCRIBE TYPE UserProfile FROM UserProfile U DESCRIBE SETTING Depth ON TYPE UserProfile SELECT U.Name, CURRENTDATE() DESCRIBE SETTING Depth ON ATTRIBUTE UserProfile.Friends FROM UserProfile U DROP TYPE SecondUserProfile DESCRIBE SETTINGS ON DB SELECT U.WeightedFriends.MAXWEIGHT() DESCRIBE INDEX Tag.Name FROM UserProfile U DESCRIBE FUNCTION CONCAT SELECT U.Name.SUBSTRING(2,3) FROM UserProfile U FROM UserProfile DROP INDEX IDX_Name SELECT U.Friends.Path(S.Name = "User1", 10, 10, "true", "false") WHERE U.Name = "User2" DEPTH 1 SETTING TYPE User SET („DEPTH“=2) CREATE INDEX IDX_Name ON UserProfile(Name) INDEXTYPE Hashtable FROM UserProfile U SELECT AVG(U.Age) UPDATE FROM UserProfile U UserProfile SET (Friends += SETOF(Name="User2", Name="User4") SELECT AVG(U.Age), U.Name TRUNCATE UserProfile WHERE Name = "User3" GROUP BY U.Name OFFSET 10 LIMIT 10 INSERTORUPDATE REPLACE UserProfile VALUES (Name = "User1", Age = 40) WHERE Name = "User1" UserProfile VALUES (Name = "User1", Age = 50) INSERTORUPDATE WHERE Name= "User1-new" UserProfile VALUES (Name = "User5") WHERE Name = "User5" FROM UserProfile DELETE WHERE Name = "User1" INSERTORREPLACE UserProfile VALUES (Name = "User1-new", Age = 50) WHERE Name = "User1"