A Content Inventory Vocabulary

Author
Dorian Taylor
Version
0.14
Created
January 23, 2012
Updated
July 3, 2020
Namespace URI
https://privatealpha.com/ontology/content-inventory/1#
Preferred Namespace Prefix
ci
Imports
OWL
XML Schema Part 2: Datatypes

This vocabulary defines a number of concepts peculiar to content strategy which are not accounted for by other vocabularies.

Such vocabularies include, but are far from limited to:

This document is organized in terms of Classes, Properties, Individuals, and an appendix for the Data Structure Definition for quantitative content analytics. Terms are organized topologically first, and alphabetically second.

Classes

There are currently only four classes in this vocabulary, as other vocabularies account for all other constructs.

This diagram shows the classes and properties defined in this document using solid lines, and third-party classes and properties using dashed lines.

Editorial Action

These classes enable the assignment of specific things to do to a document.

Action

An action, as its name implies, is meant to represent something a person or other agent ought to do to a document.

Subclass of:
ev:Event
Currently defined:

Back to Top

Merge

In order to merge a document, we must define the target to which it ought to be merged. This class is identical to an Action, save for such a property.

Subclass of:
ci:Action
Properties:
ci:target

Back to Top

Document Classes/Decorators

Ontologies like BIBO are far from exhaustive in their breadth of document types, so any additional salient document types will go here. Currently there is only the one.

Audience Modelling

Classes involved in describing audiences will go here.

Audience

An audience represents the set of people who are the intended recipients of the resource. This class is at once an agent class as well as a conceptual entity, capable of being mixed into a SKOS concept scheme.

Subclass of:
dct:AgentClass
skos:Concept
Properties:
ci:aware-of
ci:understands
ci:values
ci:eschews
See also:
dct:audience
org:Role

Back to Top

Properties

Authorial/Editorial Intent

After a content inventory comes an audit, wherein we figure out what we want to do with the content. The following properties govern who the document is (not) for and what outcome it is supposed to accomplish.

desired-outcome

This property is intended to indicate what the document is supposed to do—what material effect it is supposed to produce. It is intentionally open-ended, and as such can point to something like a skos:Concept, another document, or a literal string of text describing the outcome.

@prefix bibo: <http://purl.org/ontology/bibo/> .
@prefix dct:  <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ci:   <https://privatealpha.com/ontology/content-inventory/1#> .
@prefix eg:   <https://backoffice.example.club/concepts/> .

# we can extend our article metadata the following way:

<https://example.club/17-mindblowing-ways-to-write-listicles> a bibo:Article ;
  dct:title "17 Mindblowing Ways to Write Listicles!"@en ;
  ci:desired-outcome eg:maximize-clicks .

# and create a corresponding resource to unambiguously identify the goal:

eg:maximize-clicks a skos:Concept ;
  skos:prefLabel "Maximize Clicks"@en ;
  skos:description "Moar clicks means moar monies."@en .
            
Domain:
foaf:Document
Sub-property of:
dct:type

Back to Top

non-audience

This property complements dct:audience insofar as enabling the author or editor to designate a set of entities who are explicitly not the intended audience of the document.

Domain:
foaf:Document
Range:
dct:AgentClass
See also:
dct:audience

Back to Top

Editing Tasks

A content audit will generate actionable tasks on some subset of the inventoried documents. Use ci:action to relate a document to an action, including one or more of the actions specified in this document. A ci:Merge is a special kind of ci:Action that takes a ci:target, as in the following example:

@prefix bibo: <http://purl.org/ontology/bibo/> .
@prefix bs:   <http://purl.org/ontology/bibo/status/> .
@prefix ci:   <https://privatealpha.com/ontology/content-inventory/1#> .

<https://example.club/our-team> a bibo:Webpage ;
  bibo:status bs:published, ci:obsolete ;
  ci:action <tag:example.club,2020-01:content-inventory/merge/our-team> .

<tag:example.club,2020-01:content-inventory:merge:our-team> a ci:Merge ; 
  ci:target <https://example.club/about> .
          

This example is in Turtle syntax. It is stating that the published document at https://example.club/our-team is obsolete and should be merged into https://example.club/about. A tag: URI was chosen to identify the merge, to reinforce the idea that it is just a piece of data and not a Web page (although one could imagine representing it as one).

action

Relates a document to an action to take.

Domain:
foaf:Document
Range:
ci:Action
Sub-property of:
ev:factor_of

Back to Top

target

Specify the URI of the target resource into which this document should be merged.

Domain:
ci:Merge
Range:
foaf:Document

Back to Top

Conceptual Relations

Documents, if they don't explicitly mention, certainly allude to concepts. Certain documents may introduce or define a concept, making it suitable introductory material. Still other documents may evoke images or concepts which members of the audience are actually trying to avoid. The following properties relate documents to concepts, specifically whether a document mentions, introduces, evokes without mentioning, or otherwise assumes a level of understanding on the part of the audience.

The concepts themselves belong to an ordinary SKOS concept scheme, and can be reasoned over using their ordinary semantic relations (skos:broader, skos:narrower, skos:related).

mentions

The document explicitly mentions this concept.

Domain:
foaf:Document
Range:
skos:Concept
Sub-property of:
dct:references

Back to Top

depicts

The document explicitly depicts this concept (or other entity).

Domain:
foaf:Document
Sub-property of:
dct:references
See also:
foaf:depicts

Back to Top

introduces

The document defines, describes, or otherwise introduces the audience to this concept.

Domain:
foaf:Document
Range:
skos:Concept
Sub-property of:
ci:mentions

Back to Top

assumes

The document assumes the audience is familiar with this concept, and may not mention it explicitly.

Domain:
foaf:Document
Range:
skos:Concept
Sub-property of:
dct:references
See also:
dct:educationLevel

Back to Top

evokes

The document evokes the given concept without mentioning it explicitly.

Domain:
foaf:Document
Range:
skos:Concept
Sub-property of:
ci:assumes

Back to Top

Audience Properties

On the other side of the relationships between documents and concepts, are the relationships between audiences and concepts. In order to get any use out of a document, it is safe to assume a person has to understand it, which they won't if the document deals with concepts the person doesn't understand, unless the document specifically contains content explaining those concepts. Conversely, a person may understand a concept all too well, and have an opinion about it, which will entice them to either seek out or avoid documents that deal with those concepts. These properties are intended to model both the audience's grasp of, and emotional valence toward, a given concept.

Intersecting the concept relations declared on the documents in our inventory with the following properties declared on our audiences will enable us to construct appropriate pairings of content to audiences, and/or root out gaps in our assumptions about both our content and our audiences.

@prefix bibo: <http://purl.org/ontology/bibo/> .
@prefix dct:  <http://purl.org/dc/terms/> .
@prefix ci:   <https://privatealpha.com/ontology/content-inventory/1#> .
@prefix dbc:  <https://dbpedia.org/page/Category:> .

<https://example.news/2020/01/gruesome-car-accident> a bibo:Article ;
  dct:title "Gruesome Car Accident Gruesomely Kills 42" ;
  ci:depicts dbc:Traffic_collisions, dbc:Road_incident_deaths .

# we could define the following audience:

<https://example.news/audience/squeamish-person> a ci:Audience ;
  ci:eschews dbc:Accidents, dbc:Injuries, dbc:Death, dbc:Violence .

# over at DBPedia, there is the following relation:

dbc:Traffic_collisions skos:broader dbc:Accidents .

# that statement is enough to match the audience, but this chain
# would match it too:

dbc:Road_incident_deaths skos:broader dbc:Deaths_by_cause .
dbc:Deaths_by_cause skos:broader dbc:Causes_of_death .
dbc:Causes_of_death skos:broader dbc:Death .

# from this we can reason (programmatically) that the article is not
# appropriate for the given audience and append the following statement
# to the article's metadata:

<https://example.news/2020/01/gruesome-car-accident>
  ci:non-audience <https://example.news/audience/squeamish-person> .
          

References to DBPedia concepts have been linked to demonstrate that concepts can also be rendered as Web pages, as well as cross domains.

aware-of

This property relates an Audience to a SKOS concept that is likely to be in the orbit of the audience's members: they are aware that the concept exists, although they may not necessarily understand it.

Domain:
ci:Audience
Range:
skos:Concept
Sub-property of:
skos:related

Back to Top

understands

This property relates an Audience to a SKOS concept that members of the audience are known to comprehend, and thereby do not need any additional explanation.

Domain:
ci:Audience
Range:
skos:Concept
Sub-property of:
ci:aware-of
See also:
dct:educationLevel

Back to Top

values

This property relates an Audience to a SKOS concept that members of the audience are known to value, that is, to find meaningful in an axiological sense.

Domain:
ci:Audience
Range:
skos:Concept
Sub-property of:
skos:related
See also:
ci:eschews

Back to Top

eschews

This property relates an Audience to a SKOS concept that members of the audience are known to actively avoid or regard with contempt. This relation is intended to represent the complement of values.

Domain:
ci:Audience
Range:
skos:Concept
Sub-property of:
skos:related
See also:
ci:values

Back to Top

Content Management Metadata

One of the details we want in a content inventory is the set of hyperlinks going out of a document, including whether or not the user can see them, and what kind of links they are. These next few terms extend Dublin Core with that additional information.

@prefix ci: <https://privatealpha.com/ontology/content-inventory/1#> .

# This statement relates a resource to its canonical address:

<https://example.club/seventeen-mindblowing-ways-to-write-listicles>
  ci:canonical <https://example.club/17-mindblowing-ways-to-write-listicles> .

# here we define a slug and aliases:

<https://example.club/17-mindblowing-ways-to-write-listicles>
  ci:canonical-slug "17-mindblowing-ways-to-write-listicles"^^xsd:token ;
  ci:alias <https://example.club/seventeen-mindblowing-ways-to-write-listicles>,
    <https://short.nr/aXbQ1> .

# one of these alias clauses is implied by the other statement, as
# ci:canonical is a subproperty of ci:alias-for, which is the inverse
# of ci:alias.
          

embed

This property specifies an embedded resource, such as an image, which is visible on the document's canvas.

Domain:
foaf:Document
Sub-property of:
dct:hasPart

Back to Top

form

This property specifies form target, which may or may not be visible to the user.

Domain:
foaf:Document
Sub-property of:
ci:link

Back to Top

include

This property specifies a related resource which is not directly visible to the user.

Domain:
foaf:Document
Sub-property of:
dct:requires

Back to Top

Resources on the Web tend to be identified by more than one URI. The following properties extend the owl:sameAs property to indicate a definite direction of canonicality, and throw in another couple of properties to capture the same idea for the terminal slug of the URI path, i.e., /this/thing/here. An example use case for these properties is the generation of rewrite maps.

alias

Denotes an alternate URI for the subject resource. It extends owl:sameAs insofar as asserting that the object is somehow less canonical than the subject.

Sub-property of:
owl:sameAs
Inverse of:
ci:alias-for

Back to Top

alias-for

Denotes that the subject is the alias URI, and the object is more canonical (though not necessarily the most canonical).

Sub-property of:
owl:sameAs
Inverse of:
ci:alias
See also:
ci:canonical

Back to Top

representation

Denotes a resource that is a concrete representation of the subject, which assumed to be more abstract.

Sub-property of:
dct:hasFormat

Back to Top

variant

Denotes a resource that is a variant of a concrete representation of the subject, which assumed to be more abstract.

Sub-property of:
dct:hasFormat
Equivalent to:
ci:representation

Back to Top

primary

Denotes the primary variant that concretely represents the resource.

Sub-property of:
ci:variant

Back to Top

canonical

Asserts the canonical URI of the subject resource, i.e., the one you always want to publish in content or redirect Web requests to.

Sub-property of:
ci:alias-for

Back to Top

slug

The slug is a text token which represents either the full path or terminal path segment of an HTTP(S) URL by which a resource can be located. This property is mainly for the purpose of archiving old or alternative URL paths in a content inventory, for such tasks as generating URL rewriting maps.

Range:
xsd:string

Back to Top

canonical-slug

This is the canonical slug associated with the resource, and should be populated with the slug which is actually in use.

Sub-property of:
ci:slug
Range:
xsd:string

Back to Top

indexed

This is a boolean value to indicate whether or not a resource ought to be indexed. It does not necessarily ascribe a policy: an absence of an explicit true value does not necessarily imply the resource ought not be indexed, but the presence of a false value probably should.

Range:
xsd:boolean

Back to Top

Individuals

This document defines a set of values useful for describing the status of documents and actions to take with them.

Statuses

The following bibo:DocumentStatuses are supplied in addition to the statuses specified by the Bibliography Ontology.

empty

The document contains no content.

Back to Top

incomplete

The document has been started, but is clearly not finished.

Back to Top

incorrect

The content of this document is factually wrong.

Back to Top

obsolete

The content of this document was correct and relevant at one point, but external circumstances have caused it to lapse in relevance or factual accuracy.

Back to Top

landing

The resource is a landing page from some other medium (e.g. e-mail, television, billboard). This status is a hint to automated systems which would otherwise orphan or retire a landing page with no inbound links.

Back to Top

orphan

The resource is not explicitly pending or removed from publication, however it has managed to be disconnected from the rest of the site: There is no path to it from a landing page, and it is not a landing page on its own. That is to say that the resource either has no inbound links, or if it does, those links are from other resources that are in the same situation. Documents which are only linked from retired documents are also considered orphans.

Back to Top

confidential

The document is confidential and not for publication.

Back to Top

circulated

The document is available for select people to see, but not published in the strict literal sense.

Back to Top

retired

The document has been explicitly retired by an editor or curator, but still exists in the archive.

Back to Top

unavailable

The resource at the subject address is unavailable for reasons other than explicit retirement, e.g. HTTP 404 or 403, or going out of print.

Back to Top

Actions

The following is a list of ci:Action entities to be used with the ci:action property.

keep

Keep this document to which this is associated; make no changes to it at this time.

Back to Top

split

Split this document into multiple pieces.

Back to Top

tentative-merge

Merge this document into some other document, though unspecified at this time as to which.

Back to Top

update-metadata

Update the metadata of this document, such as keywords, audience, etc.

Back to Top

proofread

Proofread this document.

Back to Top

revise

Revise or restructure this document.

Back to Top

rewrite

Rewrite this document from scratch.

Back to Top

retire

Remove all references to this document and consign it to the archive.

Back to Top

Quantitative Metrics

There are many ways to measure a set of Web pages that give valuable insight into not only the individual character of each page, but also the character of an entire site.

We use the RDF Data Cube vocabulary to specify the quantitative metrics we gather over our documents.

Data Structure Definitions

The following object is an instance of qb:DataStructureDefinition. It depicts the dimensions, measures and attributes for qb:DataSets that carry the relevant statistical data. (This particular data structure only contains dimensions and measures.)

words-and-blocks

A set of descriptive statistics pertaining to the number of words per block of text in a given document.

Components
Dimensions
Counts
Five-number summary
Mean and Standard Deviation

Dimensions

The set of all qb:DimensionProperties for a given data structure can positively identify an observation. We currently only specify one dimension, the URI of the document in question.

document

Document Reference

Domain:
qb:Observation
Range:
foaf:Document

Back to Top

The qb:MeasureProperties are what define the data observed in a qb:Observation. Here we are interested in a five-number summary, along with the mean and standard deviation of block sizes (in words) found in a given document.

Measures

sections

For document types that have a concrete representation of sections, this property may be used to capture their sum.

Domain:
foaf:Document
Range:
xsd:nonNegativeInteger

Back to Top

blocks

A block count is conceptually similar to a word or section count, though it counts the total of elements in the document considered to be text blocks, such as paragraphs, tables, lists and figures. It is suited for document types that have no concept of (semantic) sections, such as HTML. The purpose of this measurement is to provide a sort of ratio to the word count, to glean how well-proportioned the document is.

Domain:
qb:Observation
Range:
xsd:nonNegativeInteger

Back to Top

words

This indicates the number of words in a document, similar to the familiar function in a word processor. The exact method of counting words may vary by document type, language etc., and is thus out of scope from this document.

Domain:
qb:Observation
Range:
xsd:nonNegativeInteger

Back to Top

characters

This indicates the number of characters in a document, with punctuation and the XPath normalize-space function applied. Note this is characters, not bytes.

Domain:
qb:Observation
Range:
xsd:nonNegativeInteger
See also:
normalize-space in the XPath 1.0 specification

Back to Top

images

This indicates the number of images in the document.

Domain:
qb:Observation
Range:
xsd:nonNegativeInteger

Back to Top

videos

The number of videos in the document.

Domain:
qb:Observation
Range:
xsd:nonNegativeInteger

Back to Top

embeds

The number of embeds in the document.

Domain:
qb:Observation
Range:
xsd:nonNegativeInteger

Back to Top

tables

The number of tables in the document.

Domain:
qb:Observation
Range:
xsd:nonNegativeInteger

Back to Top

lists

The number of lists in the document.

Domain:
qb:Observation
Range:
xsd:nonNegativeInteger

Back to Top

forms

The number of forms in the document.

Domain:
qb:Observation
Range:
xsd:nonNegativeInteger

Back to Top

scripts

The number of scripts in the document.

Domain:
qb:Observation
Range:
xsd:nonNegativeInteger

Back to Top

stylesheets

The number of stylesheets in the document.

Domain:
qb:Observation
Range:
xsd:nonNegativeInteger

Back to Top

outdegree

The number of links emanating from the specified resource.

Domain:
qb:Observation
Range:
xsd:number
See also:
Directed graph (Wikipedia)

Back to Top

indegree

The number of links pointing at the specified resource.

Domain:
qb:Observation
Range:
xsd:number
See also:
Directed graph (Wikipedia)

Back to Top

min

The smallest observation in the sample.

Domain:
qb:Observation
Range:
xsd:number
See also:
Sample minimum (Wikipedia)

Back to Top

low-quartile

Equivalent to the bottom quarter, or 25th percentile, of the observed data.

Domain:
qb:Observation
Range:
xsd:number
See also:
Quartile (Wikipedia)

Back to Top

median

The median of a population

Domain:
qb:Observation
Range:
xsd:number
See also:
Median (Wikipedia)

Back to Top

high-quartile

Third Quartile

Domain:
qb:Observation
Range:
xsd:number
See also:
Quartile (Wikipedia)

Back to Top

max

Maximum

Domain
qb:Observation
Range:
xsd:number
See also:
Sample maximum (Wikipedia)

Back to Top

mean

Mean

Domain:
qb:Observation
Range:
xsd:number
See also:
Mean (Wikipedia)

Back to Top

sd

Standard Deviation

Domain:
qb:Observation
Range:
xsd:number
See also:
Standard deviation (Wikipedia)

Back to Top

Changes
January 23, 2012
December 11, 2012
February 6, 2014
February 8, 2015
April 6, 2017
October 6, 2018
March 5, 2019
April 7, 2019
April 17, 2019
July 7, 2019
July 10, 2019
July 21, 2019
September 4, 2019
January 25, 2020
April 24, 2020
April 29, 2020
June 28, 2020
July 3, 2020

This document is copyright 2010-2020 Dorian Taylor, available under a Creative Commons Attribution 2.5 Canada license, where attribution is defined as a link here.