- From: Thomas Douillard <thomas.douillard@gmail.com>
- Date: Thu, 2 May 2024 10:17:44 +0200
- To: public-sparql-dev@w3.org
- Message-ID: <CAHYhspYeB9HS0Q8_03wDcvngttf7tesEoLm1NKCrX8nKah=vJw@mail.gmail.com>
GQL is a new Graph querying language standard. Seeing a brief description : https://thenewstack.io/gql-a-new-iso-standard-for-querying-graph-databases/ there is major feature that lacks in SPARQL. Property paths in SPARQL are just made of properties. This entails limitations comparing to the GQL model where you can put a "constraint" or the analog of a "[]" node anywhere in a path. So you can get values on intermediary nodes, and I guess put path operators in top of that. This seems harder or impossible to do in SPARQL. What it would look like in sparql, for getting the patrilinear grandfather with only a "parent" property ?person :parent[ :gender :male ]/:parent[ :gender :male ] ?paternalgrandfather Also I guess one thing that is missing in property paths in sparql, the lack of easy ways to use subproperties inside a path. You can get all the subproperties of a property in a variable, but you can't use that variable inside that path. For example, there are a "father", "mother" and a "parent" property in Wikidata and it is impossible to get everything in a single expression ?person [subpropertyof :parent] ?paternalgrandfather Is there any plans to make such things possible ? I used constants in my examples but in their expressions you can introduce variables just as in a "[]" node used as value in a graph pattern.
Received on Thursday, 2 May 2024 08:17:59 UTC