@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rr: <http://www.w3.org/ns/r2rml#> .
@prefix schema: <http://schema.org/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<https://deannaburt.com/#r2rml-contentdraftmap> a rr:TriplesMap ;
    rdfs:comment "Drafts, including unpublished ones. A consumer materialising this map gets the editorial pipeline's contents, which the page export deliberately does not carry." ;
    rr:logicalTable <https://deannaburt.com/#r2rml-contentdraftmap-source> ;
    rr:predicateObjectMap <https://deannaburt.com/#r2rml-contentdraftmap-po-body-md>,
        <https://deannaburt.com/#r2rml-contentdraftmap-po-category>,
        <https://deannaburt.com/#r2rml-contentdraftmap-po-created-at>,
        <https://deannaburt.com/#r2rml-contentdraftmap-po-primary-keyword>,
        <https://deannaburt.com/#r2rml-contentdraftmap-po-status>,
        <https://deannaburt.com/#r2rml-contentdraftmap-po-topic>,
        <https://deannaburt.com/#r2rml-contentdraftmap-po-updated-at> ;
    rr:subjectMap <https://deannaburt.com/#r2rml-contentdraftmap-subject> .

<https://deannaburt.com/#r2rml-entitymap> a rr:TriplesMap ;
    rdfs:comment "Subjects are templated from entity.slug, which is the column the database keys on. The export mints its @id from the display name instead, so the two agree until a name is edited without re-slugging — this mapping describes the database, not the export." ;
    rr:logicalTable <https://deannaburt.com/#r2rml-entitymap-source> ;
    rr:predicateObjectMap <https://deannaburt.com/#r2rml-entitymap-po-created-at>,
        <https://deannaburt.com/#r2rml-entitymap-po-name>,
        <https://deannaburt.com/#r2rml-entitymap-po-slug>,
        <https://deannaburt.com/#r2rml-entitymap-po-updated-at> ;
    rr:subjectMap <https://deannaburt.com/#r2rml-entitymap-subject> .

<https://deannaburt.com/#r2rml-identityfieldmap> a rr:TriplesMap ;
    rdfs:comment "The EAV table. The predicate is templated from the `field` column because the field name IS the property — a fixed predicate would collapse every stored value into one multi-valued blob." ;
    rr:logicalTable <https://deannaburt.com/#r2rml-identityfieldmap-source> ;
    rr:predicateObjectMap <https://deannaburt.com/#r2rml-identityfieldmap-po-field>,
        <https://deannaburt.com/#r2rml-identityfieldmap-po-value> ;
    rr:subjectMap <https://deannaburt.com/#r2rml-identityfieldmap-subject> .

<https://deannaburt.com/#r2rml-contentdraftmap-po-body-md> rr:objectMap <https://deannaburt.com/#r2rml-contentdraftmap-po-body-md-object> ;
    rr:predicate schema:text .

<https://deannaburt.com/#r2rml-contentdraftmap-po-body-md-object> rr:column "body_md" ;
    rr:datatype xsd:string .

<https://deannaburt.com/#r2rml-contentdraftmap-po-category> rr:objectMap <https://deannaburt.com/#r2rml-contentdraftmap-po-category-object> ;
    rr:predicate schema:articleSection .

<https://deannaburt.com/#r2rml-contentdraftmap-po-category-object> rr:column "category" ;
    rr:datatype xsd:string .

<https://deannaburt.com/#r2rml-contentdraftmap-po-created-at> rr:objectMap <https://deannaburt.com/#r2rml-contentdraftmap-po-created-at-object> ;
    rr:predicate schema:dateCreated .

<https://deannaburt.com/#r2rml-contentdraftmap-po-created-at-object> rr:column "created_at" ;
    rr:datatype xsd:dateTime .

<https://deannaburt.com/#r2rml-contentdraftmap-po-primary-keyword> rr:objectMap <https://deannaburt.com/#r2rml-contentdraftmap-po-primary-keyword-object> ;
    rr:predicate schema:keywords .

<https://deannaburt.com/#r2rml-contentdraftmap-po-primary-keyword-object> rr:column "primary_keyword" ;
    rr:datatype xsd:string .

<https://deannaburt.com/#r2rml-contentdraftmap-po-status> rr:objectMap <https://deannaburt.com/#r2rml-contentdraftmap-po-status-object> ;
    rr:predicate schema:creativeWorkStatus .

<https://deannaburt.com/#r2rml-contentdraftmap-po-status-object> rr:column "status" ;
    rr:datatype xsd:string .

<https://deannaburt.com/#r2rml-contentdraftmap-po-topic> rr:objectMap <https://deannaburt.com/#r2rml-contentdraftmap-po-topic-object> ;
    rr:predicate schema:headline .

<https://deannaburt.com/#r2rml-contentdraftmap-po-topic-object> rr:column "topic" ;
    rr:datatype xsd:string .

<https://deannaburt.com/#r2rml-contentdraftmap-po-updated-at> rr:objectMap <https://deannaburt.com/#r2rml-contentdraftmap-po-updated-at-object> ;
    rr:predicate schema:dateModified .

<https://deannaburt.com/#r2rml-contentdraftmap-po-updated-at-object> rr:column "updated_at" ;
    rr:datatype xsd:dateTime .

<https://deannaburt.com/#r2rml-contentdraftmap-source> rr:tableName "content_draft" .

<https://deannaburt.com/#r2rml-contentdraftmap-subject> rr:class schema:Article ;
    rr:template "https://deannaburt.com/#draft-{id}" .

<https://deannaburt.com/#r2rml-entitymap-po-created-at> rr:objectMap <https://deannaburt.com/#r2rml-entitymap-po-created-at-object> ;
    rr:predicate schema:dateCreated .

<https://deannaburt.com/#r2rml-entitymap-po-created-at-object> rr:column "created_at" ;
    rr:datatype xsd:dateTime .

<https://deannaburt.com/#r2rml-entitymap-po-name> rr:objectMap <https://deannaburt.com/#r2rml-entitymap-po-name-object> ;
    rr:predicate schema:name .

<https://deannaburt.com/#r2rml-entitymap-po-name-object> rr:column "name" ;
    rr:datatype xsd:string .

<https://deannaburt.com/#r2rml-entitymap-po-slug> rr:objectMap <https://deannaburt.com/#r2rml-entitymap-po-slug-object> ;
    rr:predicate schema:identifier .

<https://deannaburt.com/#r2rml-entitymap-po-slug-object> rr:column "slug" ;
    rr:datatype xsd:string .

<https://deannaburt.com/#r2rml-entitymap-po-updated-at> rr:objectMap <https://deannaburt.com/#r2rml-entitymap-po-updated-at-object> ;
    rr:predicate schema:dateModified .

<https://deannaburt.com/#r2rml-entitymap-po-updated-at-object> rr:column "updated_at" ;
    rr:datatype xsd:dateTime .

<https://deannaburt.com/#r2rml-entitymap-source> rr:tableName "entity" .

<https://deannaburt.com/#r2rml-entitymap-subject> rr:class schema:Thing ;
    rr:template "https://deannaburt.com/#entity-{slug}" .

<https://deannaburt.com/#r2rml-identityfieldmap-po-field> rr:predicateMap <https://deannaburt.com/#r2rml-identityfieldmap-po-field-predicate> .

<https://deannaburt.com/#r2rml-identityfieldmap-po-field-predicate> rr:template "https://deannaburt.com/#field-{field}" .

<https://deannaburt.com/#r2rml-identityfieldmap-po-value> rr:objectMap <https://deannaburt.com/#r2rml-identityfieldmap-po-value-object> ;
    rr:predicate schema:value .

<https://deannaburt.com/#r2rml-identityfieldmap-po-value-object> rr:column "value" ;
    rr:datatype xsd:string .

<https://deannaburt.com/#r2rml-identityfieldmap-source> rr:tableName "entity_identity" .

<https://deannaburt.com/#r2rml-identityfieldmap-subject> rr:template "https://deannaburt.com/#entity-row-{entity_id}" .

