- From: adasal <adam.saltiel@gmail.com>
- Date: Tue, 02 May 2023 12:32:44 +0000
- To: Kingsley Idehen <kidehen@openlinksw.com>
- Cc: public-lod@w3.org, semantic-web@w3.org
- Message-Id: <v1-uW3rhGs3xaZrznrfs-34be5778aa21d5fb07390a2b6a9619a6@gmail.com>
Hi Kingsley,
This is brilliant.You might have seen my last email about GPT 3.5 compared to 4
going over your last post?
I had thought that they would be good for producing SPARQL, though.
You have shown my assumption to be correct.
Do you have any thoughts about producing the whole life cycle?
I'm a non-technical outsider.My understanding is that linked data, in terms of
URLs, guarantees origin of documents which it retrieves according to a possibly
complex logical request.
But the original documents have to be annotated in the first place.
So, for instance, Wikidata "..acts as central storage for thestructured data of
its Wikimedia sister projects including Wikipedia, Wikivoyage, Wiktionary,
Wikisource, and others."
There is a life cycle from Wikipedia to a representation in Wikidata.
How is this accomplished and could eg ChatGPT, help?
Adam Saltiel
On Mon, May 1, 2023 at 10:13 PM Kingsley Idehen <kidehen@openlinksw.com> 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>
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> TO <http://example.org/graph2> MOVE Moves a named
graph from one location to another MOVE <http://example.org/graph1> TO
<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.
--
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 Tuesday, 2 May 2023 12:32:57 UTC