OpenLink Structured Data Editor (OSDE)

Simplify the creation and deployment of RDF-based Linked Data en route to Semantic Web exploitation.

Kingsley Uyi Idehen
OpenLink Software Blog
6 min readJan 15, 2016

--

Situation Analysis

The importance and viability of a Semantic Web of Linked Data still isn’t obvious to a majority of Web Users. Why? Because in addition to years of marketing challenges, enough attention hasn’t been brought to the nature and form of client-side tools aimed at productive interaction with RDF documents.

The World Wide Web (Web) has always been about Content, Documents, and Folders. Fundamentally, it was designed to enhance the time-tested File Create, Save, and Share pattern by exploiting hyperlinks (in the form of HTTP URLs) as Document Identifiers.

As an enhancement to the Web, the notion of a Semantic Web has always been about exploiting hyperlinks (in the form of HTTP URIs) as global Entity Identifiers used to identify the Subject, Predicate, Object (SPO) or Entity, Attribute, Value (EAV) components of an sentence/statement — under the feature monkier RDF (Resource Description Framework).

This post demonstrates how OSDE makes this important functionality easier to understand and exploit.

What is OSDE?

A tool from OpenLink Software for creating structured data using RDF Language sentences/statements.

Design Metaphor

You write entity->attribute->value or subject->predicate->object based sentences/statements to a document (identified by a HTTP network URL).

Entity, Attribute, and Value (optionally) sentence components (more formally knows as “parts of speech”) are identified by an HTTP URI (absolute or relative). Likewise, if you prefer RDF parlance then its: Subject, Predicate, and Object (optionally) identified by an HTTP URI (absolute or relative).

Sentence/Statement collections are grouped by Attribute (Predicate), and used as the basis for optimistic-concurrency orienteds hashes that facilitate multi-user editing operations targeting the same document.

To summarize, as is the case in the real-word:

  1. You write sentences to a document (e.g. a page in a book)
  2. Sentences in a page are grouped by paragraphs — the editor uses statement attributes (predicates) grouping to emulate this concept
  3. A document [named graph when writing to SPARQL server] could be part of a collection — like one of many pieces of paper in a folder .

Actual document storage is handled via any of the following protocols WebDAV, LDP, SPARQL Graph Protocol, or SPARQL 1.1 INSERTs, all of which are open standards.

Product Features:

  • Structured Data Creation doesn’t assume English i.e., you can annotate your structured data using language tags to identify natural language (for English it would be “en” in the lang field, when prompted)
  • Shared Ontology / Vocabulary Import
  • Intelligent determination of sentence predicate types driven by Ontology / Vocabulary lookups
  • Automatic profile lookup for preferred document storage location defaults — if authenticated via WebID+TLS protocol
  • A variety of editing views scoped to Statements, Entities, Attribute Names, and Attribute Values — you can toggle across these subject to your editing modality preferences
  • Allows you download documents to local or cloud storage
  • Cloud Storage supports multiple HTTP-based storage protocols (WebDAV, LDP, SPARQL Graph Protocol, SPARQL 1.1 INSERT)
  • Deployable using Nodes.js, Apache, IIS, Virtuoso HTTP Server, any other HTTP Server
  • 100% Javascript based
  • Available in Open Source form.
Sentence collection ordered by Subjects

Why is it important?

Bolster Read-Write dimension of the Web via a tool for creating structured data using the File-Create->Save->Share pattern, without compromising document content-type, name, of folder location storage choices i.e., you can store documents to your desktop or cloud using a variety of open standards based protocols.

How do I use it?

This tool is available as a Browser Extension or as a Service deployable via an HTTP Server.

Browser Extension Usage (for Chrome, Opera, and Vivaldi)

  1. Simply install the OSDE extension from Chrome Store
  2. Click on OSDE Toolbar icon.

Direct Import from Clipboard

  1. Copy content of an RDF Document (where content-type is any one of the following: RDF-Ntriples, RDF-Turtle, RDF-XML, JSON-LD) to your OS-provided clipboard
  2. Click on “Create New Document” link
  3. Click on “Actions” menu item
  4. Select “Direct Input” sub-menu item
  5. Paste content of your clipboard into the data input area

Start editing and/or browsing.

Loading RDF document content from a remote folder

  1. Click on “Create New Document” link
  2. Click on “Actions” menu item
  3. Select “Open” sub-menu item
  4. Click on “+Add Location” button
  5. Enter the URL of a Remote Folder (for which you have “read privileges”)
  6. Select RDF document from which you want to load content

Start editing and/or browsing.

HTTP Server Deployment

When using the editor from a local or hosted instance simply perform the following steps:

  1. Set a document location (this could be a folder or the target document)
  2. Open document from its location
  3. Add or edit RDF Language statements using any of the view options (Statements, Entities, Attributes, Values or Statements, Subjects, Predicates, Objects) — depending on your config settings (default is Statement, Entities, Attributes, and Values)
  4. Save your document to your desktop (via download link) or to remote cloud location that supports one of: WebDAV, LDP, SPARQL Graph Protocol, or SPARQL 1.1 INSERT
  5. Done.

To deploy using Node.js simply perform the following steps:

  1. Download RDF Editor Zip Archive from : http://opldownload.s3.amazonaws.com/uda/vad-packages/7.2/rdf_editor_pkg.zip
  2. Extract archive to a folder ({RDF Editor Archive Extraction Folder} henceforth)
  3. From your OS command-line interface run: npm install http-server -g (to setup global invocation of HTTP Server)
  4. From your OS command-line interface run: http-server {RDF Editor Archive Extraction Folder}/rdf-editor [options]
  5. Open up your browser and goto: http://localhost:8080

Browsing & Editing

Now that you have a working instance up and running, OSDE presents a variety of user interfaces that organize RDF setences inline with your editing preferences.

Sentences in descending Subject Identifier order.

Subject, Predicate, Object Sentence Structure

Naturally, OSDE handles terminology preferences by allowing its users toggle between Subject, Predication, and Object (SPO) and Entity, Attribute, Value (EAV).

Settings UI for toggling between preferred terminology (EAV to SPO)
Settings UI for toggling between preferred terminology (switching from SPO to EAV )

Sentences presented in EAV form and organized in descending Entity Identifier order.

Entity, Attribute, Value based Structured Data Representation (still a three — part Sentence Structure)

Sentences grouped by Subjects where count indicates the number of Predicate and Objects combinations associated with each Subject.

Sentence collection ordered by Subjects

Sentences grouped by Predicate where count indicates the number of Subject and Objects combinations associated with each Predicate (or Relationship Type [Relation] ).

Sentence collection ordered by Predicates

Sentences grouped by Objects where count indicates the number of Subject and Predicate combinations associated with each Object.

Sentence collection ordered by Objects

Once you editing or browsing activities are completed, simply use the “Save As” sub-menu item within the “Action” menu to save you altered document to a folder [for which you have “write” privileges] somewhere on your HTTP network.

Here are some YouTube-hosted silent-screencast demonstrations of the RDF Language Editor as a tool for productive creation and publication of RDF documents.

Basic RDF Language Statement Creation
“Beyond Bookmarking” demo showcasing RDF Editor as Annotation Service Provider for the OpenLink Structured Data Browser Extension

Related Links:

  1. Live Demo Instance
  2. Browser Extension for Chrome from the Chrome Store
  3. Silent screencast based usage demo
  4. Silent screencast that demonstrates loosely-coupled integration with our Structured Data Sniffer extension
  5. Human Language Common Logic
  6. Web, Logic, and the Magic of Being You!

--

--

Kingsley Uyi Idehen
OpenLink Software Blog

CEO, OpenLink Software —High-Performance Data Centric Technology Providers.