WP SKOS Facilities


Subject Siblings

SARL Architected Futures [today format='Y-m-d H:i']



What is SKOS?

SKOS, the Simple Knowledge Organization System, is a W3C “area of work developing specifications and standards to support the use of knowledge organization systems (KOS) such as thesauri, classification schemes, subject heading lists and taxonomies within the framework of the Semantic Web.”  It is a scheme to incorporate the communication of meaning in internet communications.


WordPress and related tooling largely deals with data structure.  The software is largely ignorant and agnostic about the significant of the content.  That is true at some level about all cyber systems.  Your computer has no moral compass regarding the instructions it executes.  Hardware is all operational physics, with quality control based on adherence to rules of computational logic, not arbitrary decisions concerning better ways to multiply or divide.  Those choices are made in the programming of intention into machines by people.  The purpose of a cyber system is to do what the coded instructions tell the system to do.

There is general concern regarding what is called artificial intelligence and the eventual capabilities of intelligent machines relative to humans.  It concludes in some minds in a point of time, sometimes defined as a Singularity, where machines overtake humans in intelligence.  Supposedly, this somehow motivates machines to enslave humans and make us, rather than them, do whatever needs to be done.  It can’t happen.  Not it won’t; it can’t.

But, why do people, including “smart” people, keep thinking it can and it will?  The keyword in that question is “thinking”.  Just because every set of electrical impulses that can be traced through a human brain may classify in some form as a thought, doesn’t mean that every thought is backed up by any true cognitive understanding of the totality of issues associated with the concept. Smart people say a lot of things that turn out to be wrong.

EATSv5 Framing

EATSv5 is in the process of being implemented as a WordPress facility to replace the Drupal implementation built 2012-2017.

I take one, functional definition of intelligence from the Central Intelligence Agency, but I take my definitions of data, information, knowledge, and wisdom from Russ Ackoff. Intelligence as human quantity and quality is highly suspect in our ability to measure, and is largely a function of situational capability.  It would seem logical, and intelligent, for all of us to agree and cooperate, yet disagreement and conflict are part of what we also require as propellant in our continued advancement; or, simply to out run our past. 

SKOS is about semantics and reasoning.  Reasoning is something a machine, using computational logic can assist with, but can not complete beyond a point of incapacity.  It is up to the programmer of the software coding the logic for the hardware to impose the limit constraints on infinite loops that are found at the heart of most complex operations. Pricing formulae are based on differential equations which will loop forever if not told when a sufficient degree of accuracy has been achieved.  Programs create data from observations.  People create information from systems.  People understand systems by the patterns they are able to extract and understand as abstractions of the concept of the system in their experience, and the feedback reward they obtain when that understanding proves correct and they are able to enjoy the fruits of their understanding.

SKOS is a component of the semantic web.  The aim is toward an ability to share understanding between agents and communicate at a higher level.  One objective is that the higher level communication might enhance utility, enhance community, and enhance privacy through new forms of trust between cooperative parties.  Semantic understanding of meaning in conversation is a prerequisite to trust.  

WP Plugin Options

Searching for RDF SKOS functionality within WordPress turned up the following.


A common element among the WordPress plugins is the use of the ARC2 RDF Classes for PHP. “ARC2 is a PHP 7.2+ library for working with RDF. It also provides a MySQL-based triplestore with SPARQL support.”  Integrating any functional version of any of these tools then, would bring a functional PHP v7.2+ reasoning engine capability into the EATSv5 WP Workbench.  The ARC2 classes are the same classes we investigated when pursuing EATS under Drupal (2012-2017) while investigating SIOC1SIOC (Semantically Interlinked Online Communities) – an ontology for describing data from online community sites. interchanges. 

Otherwise, besides being dated, the distinctions relate to intention of design:

  1. Pool Party Thesaurus is intended as glossary. The plugin imports a controlled vocabulary (SKOS thesaurus) or retrieves a thesaurus from a (public) SPARQL endpoint via web. Based on the thesaurus, terms in articles are high-lighted automatically, definitions are provided “inline” (as mouse-over effect) and links to the thesaurus terms are generated on-the-fly.
  2. Climate Change Glossary provides extended ontologies for reasoning related to subject matter.  Their conflict with WordPress has not been researched.  There is a WordPress TRAC archive at: https://plugins.trac.wordpress.org/browser/climate-change-glossary/.  The plugin is also available for download from non-WordPress stores.
  3. Peter Shaw has a nice collection of specific tools to support detail website customization. The detail function approach to Peter’s suite maps well with the detail service patterns of EATS.
  4. Enhanced Publication provides an extensive suite of software engineering tools for knowledge sharing over standard internet protocols. Their tool suite maps well to the book system developed for Drupal which now needs to be mapped and implemented in WordPress.  The most recent download fails to activate due to PHP errors.

Enhanced Publications

The primary function of the Enhanced Publication plugin is to describe a WordPress site as an OAI-ORE aggregated publication (an enhanced publication). In this structure, we convert WordPress pages into book chapters and use various other plugins to facilitate and describe reference lists, authors and editors, and attachments. These content relationships are then exposed in RDF utilizing the WordPress syndication feed. You can access the aggregation rdf at http://<yoursite>/feed/aggregation-rdf/.
For visualizing the content (object) relationships, we employ SURF‘s InContext Visualiser.
The content ontology utilized is based on selected relationships from among a number of standard ontologies. This combination was necessary to describe the full content aggregation of combined book and website content (e.g. an ‘Enhanced Publication’).
The following list of ontologies were used in creating content relationships for a website instance of an edited volume (book) with co-authored book chapters, abstracts, figures, and a reference list. NOTE: our companion plugin, Enhanced BibliPlug integrated with this plugin, such that references in the BibliPlug database are automatically included in the content relationships and exposed in the RDF output.
  • RDF: Resource Description Framework Ontology;
  • OAI-ORE Vocabulary for Resource Aggregation;
  • DCTerms: Dublin Core Metadata Ontology;
  • FOAF: Friend of a Friend Ontology;
  • FRBR: Functional Requirements for Bibliographic Records Ontology;
  • SWAN: Provenance, Authoring and Versioning in scientific discourse Ontology;
  • RES: Academic Researchers Ontology;
  • BiRO: Bibliographic Reference Ontology;
  • FaBiO: FRBR-aligned Bibliographic Ontology;
  • PRISM: Publishing Requirements for Industry Standard Metadata Ontology;
  • ESCAPE-Display: Vocabulary for describing inverse relationship of FOAF.

Though not required, we recommend that you use this plugin with Enhanced bibliplug
for reference management to enrich your chapter content.


CoAuthors Plus is a great plug to manage multiple authors for a single post (which, in our case, a single chapter). This plugin takes advantage of CoAuthors Plus, and we encourage you use them together.


semsol-arc2 version 2011-12-1 for RDF serialization.
InContext Visualiser verion 1.1 for RDF visualization.


The reference functionality is provided by our companion plugin, Enhanced BibliPlug.

  1. Install and activate Enhanced BibliPlug,
  2. Create a reference category for a given chapter, for example, “chapter1”
  3. Mark your references associated with chapter one with category “chapter1”.
  4. Go to the Book Chapter that represent chapter 1, and choose “chapter1” for “Reference category name” in the Enhanced Publication fields, and save your chapter.
  5. View your Book Chapter to confirm references are shown at the bottom of the webpage.
Contributors & Developers
“Enhanced Publication” is open source software. The following people have contributed to this plugin.

Enhanced Bibliplug

Enhanced Bibliplug creates a central repository for researchers to organize and display their academic work either individually or in a collaborative environment. This plugin is designed to synchronize with Zotero accounts.
Key features include:
  1. database schema for storing bibliographical references.
  2. administration pages to manage the references.
  3. short code for easy retrieval of references based on author, year, and publication type.
  4. the ability to connect and synchronize with Zotero accounts.
  5. a custom Author page template to display user’s academic title, affiliation, bio, and CV content such as publications and presentations.
  6. short code for listing all users of the site.
  7. the ability to group and retrieve references based on custom categories and tags.

Companion plugin:
Enhanced Publication


References can be displayed on any post/page using short code bibliplug.

[[bibliplug id=2]] displays a single reference.
[[bibliplug last_name='Smith']] displays references by author/editor last name.
[[bibliplug first_name='John']] displays references by author/editor first name.
[[bibliplug type='book']] displays all books.
[[bibliplug category='chapter7']] displays all references under category chapter7.
[[bibliplug tag='biology']] displays all references with tag biology.
[[bibliplug year='2008']] displays all references published in 2008.
[[bibliplug format='full']] displays references with abstracts. Default is 'normal'.
[[bibliplug keywords='biology, genome']] displays references with any given keywords.
[[bibliplug order_by='last_name, year-, title']] displays references first ordered by first author's last name, then by publish

year in descending order, then by title. You can also sort by first_name (first author’s first name), date (publication date),
and type (publication type). By default, text fields are sorted alphabatically from A-Z, dates are sorted from oldest to newest,
and numbers are sorted from small to big. To invert the sorting order of a field, add “-” at the end of the field name to indicate
that the field should be sorted in descending order.
You can mix-match any arguments except:

  • If id is used, other arguments are ignored.
  • If category is used, tag is ignored.

Other than types shown in the drop down box when editing a reference, there are two super types you can use.

  • Publication => any type that’s not presentation or conference paper.
  • Presentation => presentation and conference paper.

All references are shown in Chicago Style Author-Date System.


Author list can be displayed on any post/page using short code bibliplug_authors.

[[bibliplug_authors id=2]] display a single user by its user id.
[[bibliplug_authors format='profile']] displays all users with user info and bio.
[[bibliplug_authors format='list']] displays all users with user info.
[[bibliplug_authors format='mini']] displays all users with profile pictures.

You can use id and format in the same short code instance.


phpZotero version 0.2 by Jeremy Boggs, Sean Takats.

Contributors & Developers
“Enhanced BibliPlug” is open source software. The following people have contributed to this plugin.

Pool Party Thesaurus

PoolParty thesaurus plugin helps to make WordPress blogs and websites more understandable. The website will be improved by linking posts with key terms and key terms with other key terms. The plugin imports a controlled vocabulary (SKOS thesaurus) or retrieves a thesaurus from a (public) SPARQL endpoint via web. Based on the thesaurus, terms in articles are high-lighted automatically, definitions are provided “inline” (as mouse-over effect) and links to the thesaurus terms are generated on-the-fly. The thesaurus is available as an extra resource on the blog and can be navigated to learn more about the knowledge domain instantly. The plugin also works with multilingual blogs. Dbpedia (Linked data) is used to retrieve definitions automatically whenever the imported thesaurus lacks of definitions.

With this plugin any SKOS/RDF thesaurus can be imported or retrieved from a SPARQL endpoint and used within your WordPress blog to underpin articles with key terms.

On two extra pages (which are generated automatically) the thesaurus can be displayed and used as a browsable glossary on your blog. The main page of the glossary displays all concepts with their preferred labels and their alternative labels (synonyms). The list of concepts is displayed in an alphabetical order and can be filtered by their first letters. The second page represents the detail view of each concept. All kinds of labels and relations (prefLabel, altLabel, hiddenLabel, definition, scopNote, broader, narrower und related) of a given term (concept) can be loaded and displayed.

Each post is analyzed automatically to find words and phrases matching labels of a concept (prefLabel, altLabel or hiddenLabel) in the thesaurus. The first hit will be highlighted automatically. A mouseover tooltip shows the short description of the term/phrase and the link points to the more detailed description on the glossary page.

  • [[ppt-abcindex]]: displays an abc filter for filtering the concepts alphabetically.
  • [[ppt-itemlist]]: displays a list of concepts (filtered by its first letter).
  • [[ppt-itemdetails]]: displays the detail page of a selected concept.
  • [[ppt-noparse]] … [[/ppt-noparse]]: the content between of the shortcode is excluded from automatic linking.
  • [[ppt-searchform title=”…” width=”…[[ px | % ]]”]]: displays a search form with a autocomplete field to find a concept.
  • The Plugin works now with the user-friendly multilingual dynamic content management qTranslate X for a multilingual WordPress
  • The URL to the detail page of a concept is now SEO optimized
  • The search algorithm behind the search link on top of the concept detail page is extended (searches now for preferred and alternative labels)
  • Implemented new shortcode with which you can add a simple glossary search form between content. The shortcode is called [[ppt-searchform]] and has two optional parameters: title (The title over the textfield. Leave blank if you don’t want a title) and width (The width of the textfield). An example: [[ppt-searchform title=”Glossary search” width=”50%”]]

Thanks to Benjamin Nowack: The thesaurus is imported into the system and is queried via ARC2 (https://github.com/semsol/arc2).
Thanks to rduffy (https://wordpress.org/extend/plugins/profile/rduffy). His ‘Glossary’ Plugin (https://wordpress.org/extend/plugins/automatic-glossary) inspired me, and I was able to develop this plugin on top of his ideas.

Works with PHP 5, MySQL 5 und ARC2

Peter Shaw Local Hero Collection

Additional modules in the Peter Shaw LH collection include the following:

LH HTML Cleaner This plugins allows you to have a configurable list of html elements and html element attributes that will be removed from the content of posts, pages, and custom post types when they are saved….
LH Ios Web App Did you find this plugin helpful? Please consider writing a review. This plugin generates the meta tags to transform your WordPress website into a fully configurable Ios web app. Features include Upload a home screen icon into the WordPress media library, this plugin will resize the image appropr………
LH Zero Spam Why should your users prove that they’re humans by filling out captchas? Let bots prove they’re not bots with the LH Zero Spam plugin. LH Zero Spam blocks registration spam and spam in comments automatically without any config or setup. Zero Spam was initially built based on the work by David Walsh………
LH Profile Page LH Profile Page creates a post or page shortcode: [[lh_profile_page_form]]. This shortcode along with appropriate attributes and handlers allow logged in users to change their own user data on the front end or if they have the appropriate capabilities also edit others users on the front end. This plug………
LH Backup This plugin allows you to run sql select statements and csv files which are then emailed out to a configurable list of email addresses. This is very useful for backing up your wp database or alternatively generating daily reporting from your website. Check out our documentation for more information………
LH Password Changer  LH Password changer creates a post or page shortcode: [[lh_password_changer_form]]. This shortcode along with appropriate handlers allow logged in users to change their password on the front end…
LH Add Media From Url  This plugin allow you to grab image from remote url and save into your own WordPress media library. By doing so, you never worried if the remote image was removed by its owner. This also save you steps to download the image to local computer and upload again to your own WordPress. There is also a ja………
LH Custom Dashboard LH Custom Dashboard plugin changes the left and right footer text and the top left icon in your backed dashboard. More features will added in time. Features of this plugin: Left and right footer text changed via configuration Remove the WordPress top left icon and replace with an icon of your cho………
LH Email Registration  This plugin allows the following you to configure the backend new user screen to incorporate the following features Optional use of email addresses only instead of username and email. Optionally hide the new user url field Optionally allow you to specify whether an email should be sent to each new………
LH RDF  It has been developed for use in LocalHero. Once activated the plugin adds a new type of feed that can be subscribed to. E.G. http://localhero.biz/?feed=lhrdf or http://localhero.biz/feed/lhrdf/ containing semantic content. To output the feed in other triple formats just add the get variable forma……..
LH OGP Meta This plugin adds accurate Open Graph Meta tags and the Facebook specific meta tags to your site. The idea is to keep minimal settings and options as to remain out of your way and in the background while still proving the options you need to share content flexibly….
LH Native Comments  Make comments better for visitors by modifying the comment form. This plugin adds some small hacks around core WordPress comment forms including: Hide the url field (will be configurable in future releases) Makes all fields html5 compliant. Make email, name and comment required fields on the fron………
LH Paragraph Ids LH Paragraph Level IDs plugin adds an ‘id’ attribute to each paragraph tag in a blog post, giving the author and readers additional functionality. So for example, < p> becomes < p id=”para1234-5″>. There is also an optional feature to add a link to the paragraph at the end of the p………
LH Posse Once activated the plugin adds three new feeds: To assist in this syndication LH-posse also: A Facebook optimized feed of your posts: eg http://lhero.org/?feed=lh-posse-fb. A twitter optimized feed of your posts: eg http://lhero.org/?feed=lh-posse-tw A general feed of your attachments: eg http:/………
LH User Taxonomies This plugin extends the default taxonomy functionality and extends it to users, while automating all the boilerplate code. Once activated, you can register user taxonomies using the following code: <code>
register_taxonomy(‘profession’, ‘user’, array( ‘public’ =&gt;………