Re: Demo: Query Language Cheatsheet Generation using ChatGPT 3.5

People that enjoyed SPARQL Cheatsheet Query Examples, may enjoy:

Netflix PDF analyzer

https://twitter.com/Saboo_Shubham_/status/1653163644866252802

and GPT Code Interpretor

https://www.oneusefulthing.org/p/it-is-starting-to-get-strange

Seems like all the 1-5* of linked data are merging together

st 3. 5. 2023 v 15:01 odesílatel Kingsley Idehen <kidehen@openlinksw.com>
napsal:

>
>
> On Tuesday, 2 May 2023 at 09:13:56 UTC+12 kidehen wrote:
>
>> All,
>>
>> ChatGPT 3.5 is less capable that 4.0, but much faster. Here’s a
>> transcript demonstrating the creation of SQL and SPARQL cheatsheets – that
>> I just generated (whimsically).
>> Transcript
>>
>> Q: Make a simple SQL Cheatsheet.
>> Q: Redo, but using a Table for enhanced presentation.
>> Q: Redo the SQL cheatsheet using a Markdown Table in a code-block.
>> A:
>> Sure, here is the SQL cheatsheet presented in a markdown table inside a
>> code block:
>> Command Description
>> SELECT Retrieves data from one or more tables
>> SELECT column1, column2, ... FROM table_name;
>> DISTINCT Retrieves unique values
>> SELECT DISTINCT column_name FROM table_name;
>> WHERE Filters records based on a condition
>> SELECT column1, column2, ... FROM table_name WHERE condition;
>> AND/OR Combines multiple conditions
>> SELECT column1, column2, ... FROM table_name WHERE condition1 AND/OR
>> condition2;
>> ORDER BY Sorts the result set
>> SELECT column1, column2, ... FROM table_name ORDER BY column_name
>> ASC/DESC;
>> LIMIT Limits the number of results returned
>> SELECT column1, column2, ... FROM table_name LIMIT number_of_rows;
>> JOIN Combines rows from two or more tables based on a related column
>> between them
>> SELECT column1, column2, ... FROM table1 JOIN table2 ON
>> table1.column_name = table2.column_name;
>> GROUP BY Groups rows based on a column
>> SELECT column1, COUNT(column2) FROM table_name GROUP BY column1;
>> HAVING Filters groups based on a condition
>> SELECT column1, COUNT(column2) FROM table_name GROUP BY column1 HAVING
>> COUNT(column2) > value;
>> INSERT INTO Inserts new records into a table
>> INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2,
>> ...);
>> UPDATE Modifies existing records in a table
>> UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE
>> condition;
>> DELETE FROM Deletes records from a table
>> DELETE FROM table_name WHERE condition;
>>
>> I hope this presentation is helpful and easy to read.
>>
>> Q: Redo, with an examples column using Northwind
>> A:
>> Sure, here is an updated SQL cheatsheet presented in a markdown table
>> inside a code block with an additional column for actual usage examples
>> based on the Northwind database schema:
>> Command Description Example
>> SELECT Retrieves data from one or more tables SELECT ProductName,
>> UnitPrice FROM Products;
>> DISTINCT Retrieves unique values SELECT DISTINCT CategoryID FROM
>> Products;
>> WHERE Filters records based on a condition SELECT ProductName, UnitPrice
>> FROM Products WHERE UnitPrice > 20;
>> AND/OR Combines multiple conditions SELECT ProductName, UnitPrice FROM
>> Products WHERE CategoryID = 1 AND Discontinued = 0;
>> ORDER BY Sorts the result set SELECT ProductName, UnitPrice FROM
>> Products ORDER BY UnitPrice DESC;
>> LIMIT Limits the number of results returned SELECT ProductName,
>> UnitPrice FROM Products LIMIT 10;
>> JOIN Combines rows from two or more tables based on a related column
>> between them SELECT Products.ProductName, Suppliers.CompanyName FROM
>> Products JOIN Suppliers ON Products.SupplierID = Suppliers.SupplierID;
>> GROUP BY Groups rows based on a column SELECT CategoryID, COUNT(*) FROM
>> Products GROUP BY CategoryID;
>> HAVING Filters groups based on a condition SELECT CategoryID, COUNT(*)
>> FROM Products GROUP BY CategoryID HAVING COUNT(*) > 5;
>> INSERT INTO Inserts new records into a table INSERT INTO Products
>> (ProductName, UnitPrice) VALUES ('Chai', 18.00);
>> UPDATE Modifies existing records in a table UPDATE Products SET
>> UnitPrice = 20 WHERE ProductID = 1;
>> DELETE FROM Deletes records from a table DELETE FROM Products WHERE
>> ProductID = 1;
>> I hope this updated version of the SQL cheatsheet with examples based on
>> the Northwind database schema is helpful for you to practice with.
>>
>> Q: Repeat, for SPARQL using DBpedia for examples.
>> A:
>> Sure, here is the SPARQL cheatsheet presented in a markdown table inside
>> a code block with an additional column for actual usage examples using
>> DBpedia for the examples:
>> Command Description Example
>> SELECT Retrieves data from one or more RDF graphs SELECT ?person
>> ?birthdate WHERE { ?person dbo:birthDate ?birthdate } LIMIT 10
>> DISTINCT Retrieves unique values SELECT DISTINCT ?category WHERE {
>> ?product dcterms:subject ?category }
>> WHERE Filters RDF triples based on a condition SELECT ?film WHERE {
>> ?film rdf:type dbo:Film . ?film dbo:starring dbr:Harrison_Ford . }
>> FILTER Filters query results based on a condition SELECT ?film WHERE {
>> ?film rdf:type dbo:Film . ?film dbo:budget ?budget . FILTER(?budget >
>> 100000000) }
>> UNION Combines the results of two or more queries SELECT ?name WHERE { {
>> ?person foaf:name ?name } UNION { ?organization foaf:name ?name } }
>> OPTIONAL Retrieves optional RDF triples SELECT ?book ?author WHERE {
>> ?book rdf:type dbo:Book . OPTIONAL { ?book dbo:author ?author } }
>> ORDER BY Sorts the query results SELECT ?person ?birthdate WHERE {
>> ?person dbo:birthDate ?birthdate } ORDER BY DESC(?birthdate) LIMIT 10
>> LIMIT Limits the number of results returned SELECT ?person WHERE {
>> ?person rdf:type dbo:Person } LIMIT 10
>> GROUP BY Groups query results based on a variable SELECT ?category
>> (COUNT(?product) AS ?count) WHERE { ?product dcterms:subject ?category }
>> GROUP BY ?category
>> HAVING Filters groups based on a condition SELECT ?category
>> (COUNT(?product) AS ?count) WHERE { ?product dcterms:subject ?category }
>> GROUP BY ?category HAVING (COUNT(?product) > 100)
>>
>> Note: The examples above assume the use of the DBpedia SPARQL endpoint (
>> https://dbpedia.org/sparql). If you want to test these queries, you can
>> use the DBpedia SPARQL endpoint or install your own copy of DBpedia.
>>
>> Q: Redo for SPARQL including DESCRIBE, CONSTRUCT, COPY, and MOVE commands
>> A:
>> Sure, here is the SPARQL cheatsheet presented in a markdown table inside
>> a code block with additional commands and actual usage examples using
>> DBpedia for the examples:
>> Command Description Example
>> SELECT Retrieves data from one or more RDF graphs SELECT ?person
>> ?birthdate WHERE { ?person dbo:birthDate ?birthdate } LIMIT 10
>> DISTINCT Retrieves unique values SELECT DISTINCT ?category WHERE {
>> ?product dcterms:subject ?category }
>> WHERE Filters RDF triples based on a condition SELECT ?film WHERE {
>> ?film rdf:type dbo:Film . ?film dbo:starring dbr:Harrison_Ford . }
>> FILTER Filters query results based on a condition SELECT ?film WHERE {
>> ?film rdf:type dbo:Film . ?film dbo:budget ?budget . FILTER(?budget >
>> 100000000) }
>> UNION Combines the results of two or more queries SELECT ?name WHERE { {
>> ?person foaf:name ?name } UNION { ?organization foaf:name ?name } }
>> OPTIONAL Retrieves optional RDF triples SELECT ?book ?author WHERE {
>> ?book rdf:type dbo:Book . OPTIONAL { ?book dbo:author ?author } }
>> ORDER BY Sorts the query results SELECT ?person ?birthdate WHERE {
>> ?person dbo:birthDate ?birthdate } ORDER BY DESC(?birthdate) LIMIT 10
>> LIMIT Limits the number of results returned SELECT ?person WHERE {
>> ?person rdf:type dbo:Person } LIMIT 10
>> GROUP BY Groups query results based on a variable SELECT ?category
>> (COUNT(?product) AS ?count) WHERE { ?product dcterms:subject ?category }
>> GROUP BY ?category
>> HAVING Filters groups based on a condition SELECT ?category
>> (COUNT(?product) AS ?count) WHERE { ?product dcterms:subject ?category }
>> GROUP BY ?category HAVING (COUNT(?product) > 100)
>> DESCRIBE Retrieves RDF triples that describe a resource DESCRIBE
>> <http://dbpedia.org/resource/Barack_Obama>
>> <http://dbpedia.org/resource/Barack_Obama>
>> CONSTRUCT Generates an RDF graph based on a query pattern CONSTRUCT {
>> ?book dbo:author ?author } WHERE { ?book rdf:type dbo:Book . ?book
>> dbo:author ?author }
>> COPY Copies a named graph from one location to another COPY
>> <http://example.org/graph1> <http://example.org/graph1> TO
>> <http://example.org/graph2> <http://example.org/graph2>
>> MOVE Moves a named graph from one location to another MOVE
>> <http://example.org/graph1> <http://example.org/graph1> TO
>> <http://example.org/graph2> <http://example.org/graph2>
>>
>> Note: The examples above assume the use of the DBpedia SPARQL endpoint (
>> https://dbpedia.org/sparql). If you want to test these queries, you can
>> use the DBpedia SPARQL endpoint or install your own copy of DBpedia.
>>
> All,
> Testing SPARQL Cheatsheet Query Examples, courtesy of ChatGPT 3.5 & Linked
> Data Principles
>
>
> Create a rendition using these guidelines, for the first 5 rows:
>
>    1. Create a DBpedia SPARQL URL from the Example column values within
>    quotations
>    2. Use the URL to hyperlink values in the “Command” Column
>
> Command Description Example
> SELECT
> <http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=SELECT%20%3Fname%20WHERE%20%7B%20%3Fs%20dbo%3AbirthPlace%20dbr%3AGermany%3B%20foaf%3Aname%20%3Fname%20%7D%20LIMIT%2010&format=text%2Fhtml> Retrieves
> values by matching a query pattern. Returns a table with variables and
> their bindings. SELECT ?name WHERE { ?s dbo:birthPlace dbr:Germany;
> foaf:name ?name } LIMIT 10
> ASK
> <http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=ASK%20%7B%20dbr%3AAlbert_Einstein%20dbo%3AbirthPlace%20dbr%3AGermany%20%7D&format=text%2Fhtml> Tests
> whether a query pattern has a solution. Returns a boolean value (true or
> false). ASK { dbr:Albert_Einstein dbo:birthPlace dbr:Germany }
> DESCRIBE
> <http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=DESCRIBE%20dbr%3AAlbert_Einstein&format=text%2Fhtml> Retrieves
> information about resources in the RDF graph. Returns an RDF graph as the
> result. DESCRIBE dbr:Albert_Einstein
> CONSTRUCT
> <http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=CONSTRUCT%20%7B%20%3Fs%20a%20foaf%3APerson%20%7D%20WHERE%20%7B%20%3Fs%20a%20foaf%3APerson%20%7D%20LIMIT%2010&format=text%2Fhtml> Constructs
> an RDF graph based on the query pattern. Returns an RDF graph as the result. CONSTRUCT
> { ?s a foaf:Person } WHERE { ?s a foaf:Person } LIMIT 10
> SAMPLE()
> <http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=SELECT%20(SAMPLE(%3Fname)%20AS%20%3Fsample_name)%20WHERE%20%7B%20%3Fs%20foaf%3Aname%20%3Fname%20%7D%20GROUP%20BY%20%3Fs&format=text%2Fhtml> Returns
> an arbitrary value from a group of values. Useful for selecting a single
> value per group. SELECT (SAMPLE(?name) AS ?sample_name) WHERE { ?s
> foaf:name ?name } GROUP BY ?s
>
> Q: Repeat, but for the next 4 rows.
>
> Command Description Example
> COUNT()
> <http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=SELECT%20(COUNT(%3Fs)%20AS%20%3Fcount)%20WHERE%20%7B%20%3Fs%20a%20dbo%3AScientist%20%7D&format=text%2Fhtml> Counts
> the number of solutions that match the query pattern. Returns an integer
> value. SELECT (COUNT(?s) AS ?count) WHERE { ?s a dbo:Scientist }
> FILTER
> <http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=SELECT%20%3Fname%20WHERE%20%7B%20%3Fs%20dbo%3AbirthPlace%20dbr%3AGermany%3B%20foaf%3Aname%20%3Fname%20FILTER%20(lang(%3Fname)%20%3D%20%22en%22)%20%7D&format=text%2Fhtml> Filters
> query results based on a condition. Excludes solutions that do not satisfy
> the condition. SELECT ?name WHERE { ?s dbo:birthPlace dbr:Germany;
> foaf:name ?name FILTER (lang(?name) = “en”) }
> OPTIONAL
> <http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=SELECT%20%3Fname%20%3FbirthDate%20WHERE%20%7B%20%3Fs%20foaf%3Aname%20%3Fname%20OPTIONAL%20%7B%20%3Fs%20dbo%3AbirthDate%20%3FbirthDate%20%7D%20%7D%20LIMIT%2010&format=text%2Fhtml> Allows
> parts of a query to be optional. If the optional part has no match, the
> query still succeeds. SELECT ?name ?birthDate WHERE { ?s foaf:name ?name
> OPTIONAL { ?s dbo:birthDate ?birthDate } } LIMIT 10
> ORDER BY
> <http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=SELECT%20%3Fname%20%3FbirthDate%20WHERE%20%7B%20%3Fs%20foaf%3Aname%20%3Fname%3B%20dbo%3AbirthDate%20%3FbirthDate%20%7D%20ORDER%20BY%20%3FbirthDate&format=text%2Fhtml> Orders
> the query results based on the specified variable(s). Can order in
> ascending or descending. SELECT ?name ?birthDate WHERE { ?s foaf:name
> ?name; dbo:birthDate ?birthDate } ORDER BY ?birthDate
>
> Q: Repeat, for the next 4 rows.
>
> Command Description Example
> GROUP BY
> <http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=SELECT%20%3FbirthPlace%20(COUNT(%3Fs)%20AS%20%3Fcount)%20WHERE%20%7B%20%3Fs%20dbo%3AbirthPlace%20%3FbirthPlace%3B%20a%20dbo%3AScientist%20%7D%20GROUP%20BY%20%3FbirthPlace&format=text%2Fhtml> Groups
> the query results by one or more variables and applies an aggregate
> function to each group. SELECT ?birthPlace (COUNT(?s) AS ?count) WHERE {
> ?s dbo:birthPlace ?birthPlace; a dbo:Scientist } GROUP BY ?birthPlace
> HAVING
> <http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=SELECT%20%3FbirthPlace%20(COUNT(%3Fs)%20AS%20%3Fcount)%20WHERE%20%7B%20%3Fs%20dbo%3AbirthPlace%20%3FbirthPlace%3B%20a%20dbo%3AScientist%20%7D%20GROUP%20BY%20%3FbirthPlace%20HAVING%20(COUNT(%3Fs)%20%3E%205)&format=text%2Fhtml> Filters
> the results of a GROUP BY query based on a condition. Excludes groups that
> do not satisfy the condition. SELECT ?birthPlace (COUNT(?s) AS ?count)
> WHERE { ?s dbo:birthPlace ?birthPlace; a dbo:Scientist } GROUP BY
> ?birthPlace HAVING (COUNT(?s) > 5)
> DESCRIBE
> <http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=DESCRIBE%20dbr%3AAlbert_Einstein&format=text%2Fhtml> Provides
> an RDF graph that describes the resources found. DESCRIBE
> dbr:Albert_Einstein
> CONSTRUCT
> <http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=CONSTRUCT%20%7B%20%3Fs%20a%20dbo%3AScientist%20%7D%20WHERE%20%7B%20%3Fs%20a%20dbo%3AScientist%20%7D&format=text%2Fhtml> Constructs
> an RDF graph based on the query pattern. CONSTRUCT { ?s a dbo:Scientist }
> WHERE { ?s a dbo:Scientist }
> ​
>
> --
> Regards,
>
> Kingsley Idehen 
> Founder & CEO
> OpenLink Software
> Home Page: http://www.openlinksw.com
> Community Support: https://community.openlinksw.com
> Weblogs (Blogs):
> Company Blog: https://medium.com/openlink-software-blog
> Virtuoso Blog: https://medium.com/virtuoso-blog
> Data Access Drivers Blog: https://medium.com/openlink-odbc-jdbc-ado-net-data-access-drivers
>
> Personal Weblogs (Blogs):
> Medium Blog: https://medium.com/@kidehen
> Legacy Blogs: http://www.openlinksw.com/blog/~kidehen/
>               http://kidehen.blogspot.com
>
> Profile Pages:
> Pinterest: https://www.pinterest.com/kidehen/
> Quora: https://www.quora.com/profile/Kingsley-Uyi-Idehen
> Twitter: https://twitter.com/kidehen
> Google+: https://plus.google.com/+KingsleyIdehen/about
> LinkedIn: http://www.linkedin.com/in/kidehen
>
> Web Identities (WebID):
> Personal: http://kingsley.idehen.net/public_home/kidehen/profile.ttl#i
>         : http://id.myopenlink.net/DAV/home/KingsleyUyiIdehen/Public/kingsley.ttl#this
>
>

Received on Wednesday, 3 May 2023 14:05:27 UTC