For a decade or so, I have started development of any non-trivial data schemas by reviewing Dublin Core. If I could foresee an edge case where a Dublin Core level of abstraction was required, I would copy/paste my half-assed Dublin Core Remedial SQL and start from there. It's rare that Dublin Core is actually necessary, but once you cross that rubicon, shit gets real awfully fast.

(Fun Note: NoSQL fans should love Dublin Core. It's a JSON-ready framework that's kind of a pain in the ass to model in SQL that can tell you everything you need to know about every post, author and commenter on the Internet.)

Today I learned that TIL means "today I learned."

TIL that the Wikipedia says this:

Since 2012 the two have been incorporated into the DCMI Metadata Terms as a single set of terms using the Resource Description Framework (RDF). The full set of elements is found under the namespace Because the definition of the terms often contains domains and ranges, which may not be compatible with the pre-RDF definitions used for the original 15 Dublin Core elements, there is a separate namespace for the original 15 elements as previously defined:

Before we all get too carried away fellating ourselves, the Wikipedia for RDF suggests this:

The predominant query language for RDF graphs is SPARQL. SPARQL is an SQL-like language, and a recommendation of the W3C as of January 15, 2008.
An example of a SPARQL query to show country capitals in Africa, using a fictional ontology.

    PREFIX ex: 
    SELECT ?capital ?country
    WHERE {
      ?x ex:cityname ?capital ;
         ex:isCapitalOf ?y .
      ?y ex:countryname ?country ;
         ex:isInContinent ex:Africa .

For nerds, this is dancing with the devil in the pale Moon light.