On 3/2/17 11:48 AM, Rick Labs wrote:
Perhaps high quality documentation already exists? Would be great to have at least a syllabus (learn this first, then move on to this, then on to... Might be good to also have common / high value "use-case" scenarios with pointers to documentation/tutorials that cover it. Existing example queries are very helpful but many are complex. For training purposes we need a graduated set of examples, that are designed step-by-step to teach how to construct queries.
The trouble here isn't really SQL to SPARQL etc.. In my experience, it's more to do with understanding what data is and the nature of data representation. Having arrived at the aforementioned conclusion over the years, I published a presentation titled "Understanding Data" as an aid in this area [1].
SQL and SPARQL aren't very good starting points because literature associated with both assume some fundamental understanding about the nature of data (relations) against which they operate.
If one starts the journey with data representation comprehension combined with clarity about RDF as a language, my hope is that folks reach a point where creating RDF statements always includes (so SPARQL compliant servers don't need to inject workarounds for label injection into query solutions):
1. Addition of annotation relations esp., the likes of rdfs:label, skos:prefLabel, skos:altLabel, schema:name, foaf:name, rdfs:comment, schema:description etc..
2. Addition (where possible) use of relations such as foaf:depiction, schema:image etc..
Adhering to the above leads to RDF statement collections that are easier to read, without the confusing nature of the term "graph" getting in the way. At the end of the day, RDF is simply an abstract language for creating structured data using a variety of notations (RDF-Turtle, RDF-NTriples, JSON-LD, RDF-XML etc..). It isn't a format, but sadly that's how it is still perceived by most circa., 2017 (even though the initial RDF definition snafu on this front occurred around 2000).
SPARQL is a Query Language for operating on data represented as a collection of RDF statements grouped by statement Predicate, as opposed to SQL which is oriented towards data represented as Records grouped by Table.
Links:
[1] https://www.slideshare.net/kidehen/understanding-29894555 -- Understanding Data
[2] http://www.openlinksw.com/data/turtle/general/GlossaryOfTerms.ttl -- Glossary that might also help with terminology
[3] https://www.quora.com/What-is-the-Semantic-Web/answer/Kingsley-Uyi-Idehen