Solving Product Management Challenges via a Product Knowledge Graph

Kingsley Uyi Idehen
OpenLink Virtuoso Weblog
3 min readDec 2, 2018

At OpenLink Software, our broad and sophisticated portfolio of platform-agnostic products has increasingly challenged our ability to deliver the kind of agility demanded by our own business operations. Naturally, we don’t stand alone in this situation — this very common challenge afflicts every commercial enterprise differing only in scale.

Challenge

Increase agility across Product Development, Description, Packaging, Merchandising, Sales, and Delivery.

Solution

Use RDF documents that have been crafted in line with Linked Data principles to construct a dynamic Enterprise Knowledge Graph that manifests as a Semantic Web constructed from the use of hyperlinks as unambiguous identifiers for Software Applications, Software Licenses, Operating Systems, Processors, Offers, Installer Archives, Virtual Machines & Containers, etc.

How We Address The Problem

At the end of each product release cycle, whether for a new or existing product, we take the following steps, ensuring that hyperlinks (specifically, HTTP URIs) identify everything (i.e., Entities, Entity Types, and Entity Relationship Types). This enables insightful lookups and follow-your-nose exploration triggered by hyperlink clicks, whenever needed by whomever, across the enterprise, subject to data access policies described by Attribute-based Access Controls (ACLs).

  1. Build a Product (i.e., Software Application) or Service Release
  2. Understand the Features and Benefits of the Release
  3. Determine how its value is to be packaged for sale (e.g., Licenses for Linux, macOS, Windows)
  4. Provide FREE Evaluation Licenses (e.g., for Linux, macOS, Windows) via multi-purpose License Generation Service
  5. Provide Web-accessible options for installation (e.g., Downloadable Installer Archives for Linux, macOS, and Windows, or Cloud-based Virtual Machines or Docker Containers)
  6. Describe Installer Archives from their Depots (e.g., for Linux, macOS, Windows, Java Virtual Machines)
  7. Describe & Publish Product Offers via Basic HTML Page (e.g., Licenses for Linux, macOS, Windows) and/or Google Spreadsheet
  8. Merchandise Offers (e.g., via Summary Page, Listing Filters, or a publicly accessible Google Spreadsheet populated via a SPARQL Query that returns data via HTML or CSV docs)
  9. Provide Offer Quotations and/or Checkout Service (e.g., for Linux, macOS, Windows)
  10. Provide Payment Processing Service, that’s loosely-bound to Payment Service Providers (e.g., Stripe)
  11. Generate purchased License and deliver to customer (via email, file repository, or other means) via multi-purpose License Generation Service (as in #4 above)
  12. Use OpenAPI or RDF to describe Web Services APIs that provide access points for REST-ful interaction with specific Actions — easing integration with external systems used by our customers and partners

Result

In classic two-for-one fashion, completing this challenging effort has enabled us both to reach our desired enterprise agility levels and to significantly enhance the hands-on expertise of every employee in the process. Best of all, we can share this level of agility with our customers through improved services while simultaneously making the virtues of our product portfolio easier for those same customers to understand and exploit.

Related

--

--

Kingsley Uyi Idehen
OpenLink Virtuoso Weblog

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