Deadgobot

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 http://purl.org/dc/terms/. 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: http://purl.org/dc/elements/1.1/.

Before we all get too carried away fellating ourself, 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.