Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sPHhZ-003pbk-4n for pgsql-hackers@arkaria.postgresql.org; Thu, 04 Jul 2024 08:20:25 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1sPHhW-00Eo8P-Us for pgsql-hackers@arkaria.postgresql.org; Thu, 04 Jul 2024 08:20:23 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sPHhW-00Eo8H-JA for pgsql-hackers@lists.postgresql.org; Thu, 04 Jul 2024 08:20:23 +0000 Received: from mail-lf1-x12d.google.com ([2a00:1450:4864:20::12d]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1sPHhV-000M7t-1y for pgsql-hackers@postgresql.org; Thu, 04 Jul 2024 08:20:22 +0000 Received: by mail-lf1-x12d.google.com with SMTP id 2adb3069b0e04-52cd80e55efso555833e87.0 for ; Thu, 04 Jul 2024 01:20:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1720081218; x=1720686018; darn=postgresql.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=FhF0ILHEoITXpm4AmaQy0Lz0ZYqHw/v4DC/IOSTH2b4=; b=TlDWYXneXSh9Ip8/LgaIt6yFCfo+2OAniPQHRk8zmMsrrgdM7k8NGGFaQywfcKD/fJ c6AB/BQLcdX+MfdRCbvi7N1HhpxTwun5DmvXe2n6fKhVuUy1Y0/P4bn+KXEJG7lCG3Yy T8aRVAl8Rsc6d5gcvg/DmDC7yqWUSx9USkhczew9hw27hkF6lC/O41JJ033NAfPewRD9 aNOn7d3mq/6Hdx+BOjSW4hGOexpBgQSLtKIomb7MzqOBXYbov4tNdO+Q1wfmcRuyBg9c 4/6024Zo3/9ISYpNGN5PO0RczG3LMYtY58BZk9JQuxfPnQV9c8g/2aYzhJd+AR+IAZwp 4fqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720081218; x=1720686018; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FhF0ILHEoITXpm4AmaQy0Lz0ZYqHw/v4DC/IOSTH2b4=; b=ntthU0l7RMSePJgxM2nmlYTVWSo+j6D7nf9tum4ERL+Yuwj2CHwEBPWKnMgof41ygX jg5VgerFwEz/A6VYhMOKclgi2+h5rQ+KTgv80SSH30uDDsYLzekp7xkL+NvUsnHJ3NGy G+hTbdtysiCaAEZh0ujZ9R5CrNShe9ieZVLO9WzIJQZlXAUSo47AsQT001iUXlN5L6NH XFZopZspaMFch+dTJnGWTumds2Avv9BkGtsV9FzGeChShZaNKzztRoDqMyEJ2wnfTE3x OGJ5KeKsXPvhtU38k5vK8KYA/gpeeLf58d5faBDUy5ev8cvaoQgpM2DHCyLG84V7WARV D7kg== X-Gm-Message-State: AOJu0YwQoRycrmNCVaWtW1VUUEPv6j4EUmpDdHZzh/yon7X1B5jejArE JuBMCaE0AaLj/enIv/yly2kPhfAufJvjk5eOYeJtrR0ta0sC1QUJ X-Google-Smtp-Source: AGHT+IGV944UNz5JhW5PcIiO5OUp3QLDctfq2pRrnCjDmheAO25jqaTdNL/XGa/oGdEDCY5eg+pf2Q== X-Received: by 2002:a19:ac45:0:b0:52e:933f:f1fa with SMTP id 2adb3069b0e04-52ea06c7106mr650698e87.61.1720081217948; Thu, 04 Jul 2024 01:20:17 -0700 (PDT) Received: from smtpclient.apple (adsl-88.176.58.225.tellas.gr. [176.58.225.88]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a72aaf52da7sm575306966b.46.2024.07.04.01.20.16 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 04 Jul 2024 01:20:17 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.600.62\)) Subject: Re: SQL Property Graph Queries (SQL/PGQ) From: Florents Tselai In-Reply-To: <04c0abe2-e9c5-4ffc-97b2-bedc1e3cd178@eisentraut.org> Date: Thu, 4 Jul 2024 11:19:46 +0300 Cc: pgsql-hackers , Ashutosh Bapat Content-Transfer-Encoding: quoted-printable Message-Id: <853AEC0B-781F-4F37-AFC1-0422D2F02FA5@gmail.com> References: <20240216192301.q2tf4bqjydymg3g2@awork3.anarazel.de> <9c5edd61-c415-475b-a088-7bd7461b21a4@eisentraut.org> <5fa7f8a7-ce94-4a2a-ab93-4d43f97a1a41@enterprisedb.com> <04c0abe2-e9c5-4ffc-97b2-bedc1e3cd178@eisentraut.org> To: Peter Eisentraut X-Mailer: Apple Mail (2.3774.600.62) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk In the ddl.sgml, I=E2=80=99d swap the first two paragraphs. I find the first one a bit confusing as-is. As far as I can tell, it=E2=80= =99s an implementation detail. The first paragraph should answer, =E2=80=9CI have some data modeled as = a graph G=3D(V, E). Can Postgres help me?=E2=80=9D. Then, introducing property graphs makes more sense.=20 I'd also use the examples and fake data in `graph_table.sql` in = ddl/queries.sgml). I was bummed that that copy-pasting didn't work as is. I=E2=80=99d keep explaining how a graph query translates to a relational = one later in the page. As for the implementation, I can=E2=80=99t have an opinion yet, but for those not familiar, Apache Age uses a slightly different = approach that mimics jsonpath (parses a sublanguage expression into an internal = execution engine etc.). However, the standard requires mapping this to the relational model, = which makes sense for core Postgres. > On 27 Jun 2024, at 3:31=E2=80=AFPM, Peter Eisentraut = wrote: >=20 > Here is a new version of this patch. I have been working together = with Ashutosh on this. While the version 0 was more of a fragile demo, = this version 1 has a fairly complete minimal feature set and should be = useful for playing around with. We do have a long list of various = internal bits that still need to be fixed or revised or looked at again, = so there is by no means a claim that everything is completed. >=20 > Documentation to get started is included (ddl.sgml and queries.sgml). = (Of course, feedback on the getting-started documentation would be most = welcome.) >