You don't need to be a Programmer to create and publish web content deployed using Linked Data principles

Recently I was tasked with producing auto generated HTML-based Structured Data Web Pages - my first reaction
" I don’t have the skill set , I have no experience programming!"

How wrong was I :slight_smile:

You really don’t need to be a Programmer to exploit the power of RDF statements deployed using Linked Data principles, here are links to a collection of live Knowledge Graph and Virtuoso Sponger descriptions for which I contributed content in the form of RDF-Turtle statements:

  1. Knowledge Graph
  2. Virtuoso Sponger Middleware

How?

The steps were as follows:

  1. Described Blog Posts associated with topics such as Knowledge Graph and Virtuoso’s Sponger Middleware module using a collection of RDF-Turtle statements I crafted by hand using the editor provided by Discourse (the platform that underlies this discussion forum)

  2. Reviewed by statements using the OSDS browser extension – using its ability to visualize and error check RDF-Turtle embedded in text editing spaces using Nanotation

  3. Requested upload of my RDF-Turtle statements to a Named Graph (Virtuoso DBMS hosted Document repository)

Once the steps above are completed, which already demonstrates the power of RDF-Turtle deployed using Linked Data, inline, courtesy of Nanotation. I simply leave the OSDI Engine instance that drives our Web Site to inject my additional content into an existing Web Page Template.

Here are my notes that describe Blog Posts associated with “Knowledge Graph” as the main topic:

## Turtle Start ##

## Knowledge Graph Notes
@prefix : <#> . 
@prefix cc: <http://creativecommons.org/ns#> . 
@prefix xhv: <http://www.w3.org/1999/xhtml/vocab#> . 
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . 
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . 
@prefix skos: <http://www.w3.org/2004/02/skos/core#> . 
@prefix wdrs: <http://www.w3.org/2007/05/powder-s#> . 
@prefix wd: <http://www.wikidata.org/entity/> .
@prefix schema: <http://schema.org/> . 
@prefix dbpedia: <http://dbpedia.org/resource/> . 
@prefix dbpedia-live: <http://dbpedia-live.openlinksw.com/resource/> .
@prefix dbc: <http://dbpedia-live.openlinksw.com/resource/Category:> . 
@prefix wikidata: <http://www.wikidata.org/entity/> .  
@prefix dbpedia-live-fct: <http://live.dbpedia.org/describe/?url=http%3A%2F%2Fdbpedia.org%2Fresource%2FCategory%3A2019%25E2%2580%259320_> . 
@prefix kbpedia: <http://kbpedia.org/kko/rc/> . 
@prefix odbc: <http://data.openlinksw.com/oplweb/glossary-term/ODBC#> .
@prefix jdbc: <http://data.openlinksw.com/oplweb/glossary-term/JDBC#> .
@prefix linkeddata: <http://data.openlinksw.com/oplweb/glossary-term/LinkedData#> .
@prefix knowledge-graph: <http://data.openlinksw.com/oplweb/glossary-term/KnowledgeGraph#> .
@prefix lod-cloud: <http://data.openlinksw.com/oplweb/glossary-term/LODCloud#> . 
@prefix data-wrangling: <http://data.openlinksw.com/oplweb/glossary-term/DataWrangling#> . 
@prefix sparql-query-lang: <http://data.openlinksw.com/oplweb/glossary-term/SPARQL#> . 
@prefix virtuoso: <http://data.openlinksw.com/oplweb/product/Virtuoso#this> . 
@prefix virtuoso-83: <http://data.openlinksw.com/oplweb/product_release/VirtuosoRelease83x#this> . 
@prefix sparql-query-linkeddata-posts: <https://tinyurl.com/y9rvpmug#> .
@prefix odbc-sap-hana-macos: <https://medium.com/openlink-odbc-jdbc-ado-net-data-access-drivers#> . 
@prefix linkeddata-web-page: <http://www.openlinksw.com/linkeddata/> . 
@prefix uda-web-site: <http://uda.openlinksw.com/> . 
@prefix virtuoso-web-site: <http://virtuoso.openlinksw.com/> . 
@prefix linkeddata-deployment-ttl: <https://medium.com/openlink-software-blog/simple-linked-data-deployment-tutorial-a532e568c82f#> . 
@prefix what-is-a-sparql-endpoint: <https://medium.com/virtuoso-blog/what-is-a-virtuoso-sparql-endpoint-and-why-is-it-important-5244df738a3e#> . 
@prefix linkeddata-deployment-jsonld: <https://medium.com/@kidehen/simple-linked-data-deployment-tutorial-using-json-ld-notation-3e753a5d44a3#> . 
@prefix what-is-lod-cloud: <https://medium.com/virtuoso-blog/what-is-the-linked-open-data-cloud-and-why-is-it-important-1901a7cb7b1f#> . 
@prefix openlink-web: <http://www.openlinksw.com/> . 


@prefix      source: <http://www.openlinksw.com/data/turtle/general/virtuososponger-notes.ttl> .
@prefix   sourceDAV:<http://www.openlinksw.com/DAV/data/turtle/general/virtuososponger-notes.ttl> .
@prefix what-is-virtuoso-sponger:<https://medium.com/virtuoso-blog/what-is-the-virtuoso-sponger-middleware-about-and-why-is-it-important-293546b32a32#>.
@prefix virtuoso-sponger-web-page: <http://www.openlinksw.com/virtuososponger/> . 
@prefix virtsponger-image: <https://miro.medium.com/max/1400/1*31Bq6WkSEYrMDawGqTbzNw.png> . 
@prefix spongercartidgemarvel-image: <https://community.openlinksw.com/uploads/default/original/1X/49f1641555e4d22afba8da7e6b0523ccc7c7febf.png>.
@prefix sponger-cartidge-marvel:<https://community.openlinksw.com/t/linked-data-middleware-sponger-cartridge-marvel-universe/924#>.
@prefix sponger-covid-demo:<https://community.openlinksw.com/t/lod-cloud-knowledge-graph-usage-demo-structured-data-sniffer-super-links-uriburner-live-virtuoso-sponger-instance/1628#>.
@prefix sponger-covid-demo-image: <https://community.openlinksw.com/uploads/default/optimized/1X/2c2cb76e3eb6dd765220548ad2ce87a912df8a6f_2_1380x928.jpeg>.
@prefix kg-covid-demo-image: <https://community.openlinksw.com/uploads/default/optimized/1X/a73a701ef9ac4ae23c43cbbd43d9ce9226ba18e6_2_1380x896.jpeg>.
@prefix virtuoso-meta-cartridge:<https://community.openlinksw.com/t/named-entity-extraction-and-virtuoso-meta-cartridges/1582#>.
@prefix extractor-cartidge-image: <https://community.openlinksw.com/uploads/default/original/1X/6f2d179af603d96739844e13acf781b22ea8c534.png>.
@prefix data-virtualization:<http://data.openlinksw.com/oplweb/glossary-term/DataVirtualization#this>.
@prefix virt-data-virtualization-beginners:<https://community.openlinksw.com/t/virtuoso-data-virtualization-for-beginners-sql-data-sources/1573#>.
@prefix datavirt-join-image: <https://community.openlinksw.com/uploads/default/original/1X/8e283f48ad1b8197b8cca4f3ad9ca67c13a855c5.png>.
@prefix data-virt-for-sql-rdf:<https://medium.com/virtuoso-blog/conceptual-data-virtualization-for-sql-and-rdf-using-open-standards-24520925c7ce#>.
@prefix data-virt-for-sql-rdf-image: <https://miro.medium.com/max/1400/1*Aszo6IEVGfBlJyCPpQfTIA.png>.
@prefix access-mysql-oracle:<https://community.openlinksw.com/t/how-do-i-integrate-data-across-mysql-and-oracle-databases/1781#>.
@prefix datavirtualization-image: <https://community.openlinksw.com/uploads/default/original/2X/c/c10e34058d91fd8da6f02f840bfbdb0258baabe8.jpeg>.
@prefix linkedin-network-graph:<https://www.linkedin.com/feed/update/urn:li:activity:6674002720866746368/#>.
@prefix networkgraph-image: 
<https://cdn-images-1.medium.com/max/800/1*XEIW9h-UGL4aFvuTArSC2Q.png>.
@prefix tweet-network-graph:<https://twitter.com/kidehen/status/1268214275300036614#>.
@prefix graph: <http://data.openlinksw.com/oplweb/glossary-term/Graph#this>.
@prefix virtuoso-graph-analytics: <https://community.openlinksw.com/t/graph-analytics-using-virtuoso-s-sparql-bi-extensions-to-sparql/1443#>.
@prefix foaf-social-network-image: <https://cdn-images-1.medium.com/max/800/1*KEGToK5OXQU9mTxoBDnjGQ.png>.
@prefix why-virtuoso-kg: <https://community.openlinksw.com/t/why-virtuoso-in-regards-to-knowledge-graph-development-exploitation/1560#>.
@prefix hyperdata-image: <https://community.openlinksw.com/uploads/default/original/1X/8419a7b98f50d9ce42fafa061c4534d2b6bcd134.png>.
@prefix oneclick-kg: <https://community.openlinksw.com/t/creating-a-knowledge-graph-via-a-single-click/1549#>.
@prefix uriburner-image: <https://cdn-images-1.medium.com/max/800/1*ZRrAnLqZ-l9yh3MIUAlHvw.png>.
@prefix semmed-kg-mysql: <https://community.openlinksw.com/t/semantic-medline-semmed-knowledge-graph-generation-from-mysql-database/1441#>.
@prefix semmed-virtuoso-arch-image:<https://community.openlinksw.com/uploads/default/original/1X/6ad5de8fc4a1374dced19ab6d6e0d83d9a133724.png>.
@prefix basic-sparql-queries-dbpedia:<https://medium.com/virtuoso-blog/dbpedia-basic-queries-bc1ac172cc09#>.
@prefix virtuoso-sparql-image:<https://miro.medium.com/max/1400/1*txYlJ99SZK6qohubzSgxZQ.png>.
@prefix visualizing-sparql-tableau:<https://medium.com/virtuoso-blog/virtuoso-tableau-sparql-f9411852a87d#>.
@prefix anchor-tableau-dbpedia-image:<https://miro.medium.com/max/1400/1*LZqZBxE4mTXMgg8VULBriA.png>.
@prefix wikidata-dbpedia:<https://www.linkedin.com/pulse/mutually-beneficial-nature-dbpedia-wikidata-kingsley-uyi-idehen/?trackingId=SBJLGpbGSOOR65Y48hvQGw%3D%3D>.
@prefix virtuoso-geosparql:<https://community.openlinksw.com/t/virtuoso-geosparql-demo-server/223#>.
@prefix virtuoso-geosparql-image:<https://community.openlinksw.com/uploads/default/original/1X/c643b3219fa9534df1f49c64cb3e7848ee106798.png>.
@prefix lod-sparql-linkeddata:<https://community.openlinksw.com/t/publishing-lod-cloud-sparql-endpoint-descriptions-using-linked-data-principles/1466#>.
@prefix lod-cloud-image:<https://lod-cloud.net/clouds/lod-cloud-sm.jpg>.
@prefix kg-turle.jsonld: <http://www.openlinksw.com/data/turtle/general/knowledge-graph-manifestation-turtle-jsonld.html#>.
@prefix kg-hypermedia-image:<https://i.pinimg.com/474x/fb/f2/be/fbf2becb2ed036953edde756a9dd17af.jpg>.
@prefix covid-hypermedia-image:<https://i.pinimg.com/originals/e0/0b/c9/e00bc9d0c3f36f8388e87b66a4f3e9b1.png>.
@prefix covid-hypermedia:<https://www.openlinksw.com/data/turtle/general/covid-19-knowedge-graph.html#>.


## Web Pages 

knowledge-graph:
a schema:CreativeWork, schema:WebPage ;
schema:author  <http://www.openlinksw.com/#this>  ;
schema:dateCreated "2020-06-30T13:00:00-05:00"^^xsd:dateTime ;
schema:dateModified "2020-07-03T16:30:00-05:00"^^xsd:dateTime ;
schema:name "Knowledge Graph Index Page"@en ;
xhv:license <http://creativecommons.org/licenses/by/4.0/deed.en_US> ;
cc:attributionName "OpenLink Software" ;
schema:description """Index of documents related to Knowledge Graph"""@en ;
schema:about knowledge-graph:this ;
skos:related data-wrangling:this, linkeddata:this,  lod-cloud:this , data-virtualization:this;
schema:relatedLink virtuoso-web-site:, uda-web-site: ;
cc:attributionURL knowledge-graph:this .


## Blog Posts

covid-hypermedia:this
a schema:CreativeWork;
schema:image covid-hypermedia-image: ;
schema:name "Live Knowledge Graph about COVID-19 Deployed as an HTML-based Hypermedia Document "@en ;
schema:description """Here is an example of  HTML-based Hypermedia document relating to COVID-19  - clickable links for further exploration 
  """@en ;
skos:related linkeddata:this, data-virtualization:this,  odbc:this , jdbc:this, sparql-query-lang:this ,  lod-cloud:this , virtuoso:this , graph:this,virtuoso-graph-analytics:this , knowledge-graph:this ;
schema:url covid-hypermedia:  ;
schema:mainEntityOfPage covid-hypermedia: .

kg-turle.jsonld:this
a schema:CreativeWork;
schema:image kg-hypermedia-image: ;
schema:name "Live Knowledge Graph Deployed as an HTML-based Hypermedia Document "@en ;
schema:description """Here is an example of  a HTML-based Hypermedia Document - clickable links for further exploration 
  """@en ;
skos:related linkeddata:this, data-virtualization:this,  odbc:this , jdbc:this, sparql-query-lang:this ,  lod-cloud:this , virtuoso:this , graph:this,virtuoso-graph-analytics:this , knowledge-graph:this, covid-hypermedia:this ;
schema:url kg-turle.jsonld:  ;
schema:mainEntityOfPage kg-turle.jsonld:  .


why-virtuoso-kg:this
a schema:CreativeWork, schema:BlogPosting ;
schema:image hyperdata-image:  ;
schema:name "Why Virtuoso - In regards to Knowledge Graph Development & Exploitation? "@en ;
schema:description """This post details how Virtuoso offers a unique approach to Knowledge Graph delivery providing a conceptually coherent interface to disparate enterprise data sources with minimum disruption to your existing infrastructure.
  """@en ;
skos:related linkeddata:this, data-virtualization:this,  odbc:this , jdbc:this, sparql-query-lang:this ,  lod-cloud:this , virtuoso:this , graph:this,virtuoso-graph-analytics:this   , knowledge-graph:this;
schema:url why-virtuoso-kg: ;
schema:mainEntityOfPage why-virtuoso-kg:  .

semmed-kg-mysql:this
a schema:CreativeWork, schema:BlogPosting ;
schema:image semmed-virtuoso-arch-image: ;
schema:name "Semantic MEDLINE (SemMed) Knowledge Graph Generation from MySQL Database  "@en ;
schema:description """This post demonstrates generating a Knowledge Graph that manifests as a Semantic Web from this database by leveraging the multi-model database management system capabilities of Virtuoso.
  """@en ;
skos:related linkeddata:this, data-virtualization:this,  odbc:this , jdbc:this, sparql-query-lang: ,  lod-cloud: , virtuoso: , graph:this,virtuoso-graph-analytics: ;
schema:url semmed-kg-mysql:this ;
schema:mainEntityOfPage semmed-kg-mysql:this  .


oneclick-kg:this
a schema:CreativeWork, schema:BlogPosting ;
schema:image uriburner-image:  ;
schema:name "Creating a Knowledge Graph via a Single-Click "@en ;
schema:description """This demonstration post guides you through the a very simple process to create a Knowledge Graph using Virtuoso URIBurner service
  """@en ;
skos:related linkeddata:this, data-virtualization:this,  odbc:this , jdbc:this, sparql-query-lang: ,  lod-cloud: , virtuoso: , graph:this,virtuoso-graph-analytics: ;
schema:url oneclick-kg: ;
schema:mainEntityOfPage oneclick-kg:  .


virtuoso-graph-analytics:this
a schema:CreativeWork, schema:BlogPosting ;
schema:image foaf-social-network-image:  ;
schema:name "Graph Analytics using Virtuoso’s SPARQL-BI extensions to SPARQL "@en ;
schema:description """This post demonstrates how a combination of SQL (one open standard) with SPARQL (another open standard), here comprising a Business Intelligence-focused extension of SPARQL we call SPARQL-BI, can address a range of data manipulation operations commonly referred to as Graph Analytics.
  """@en ;
skos:related linkeddata:this, data-virtualization:this,  odbc:this , jdbc:this, sparql-query-lang: ,  virtuoso: , graph:this, linkedin-network-graph:this , tweet-network-graph:this ;
schema:url virtuoso-graph-analytics: ;
schema:mainEntityOfPage virtuoso-graph-analytics: .



tweet-network-graph:this
a schema:CreativeWork, schema:BlogPosting ;
schema:image networkgraph-image:   ;
schema:name "Tweet: Every Network is a Graph. Every Graph isn't a Network! "@en ;
schema:description """A tweet thread discussing the heterogenous nature of RDF graphs in relation to the more homogeneous Label Property Graph (LPG) network graph sub-category. 
  """@en ;
skos:related linkeddata:this, data-virtualization:this,  odbc:this , jdbc:this, sparql-query-lang: ,  virtuoso: , graph:this, linkedin-network-graph:this ;
schema:url tweet-network-graph: ;
schema:mainEntityOfPage tweet-network-graph: .


linkedin-network-graph:this
a schema:CreativeWork, schema:BlogPosting ;
schema:image networkgraph-image:   ;
schema:name "LinkedIn Post: Every Network is a Graph. Every Graph isn't a Network! "@en ;
schema:description """A LinkedIn about heterogenous nature of RDF graphs in relation to the more homogeneous Label Property Graph (LPG) network graph sub-category. 
  """@en ;
skos:related linkeddata:this, data-virtualization:this,  odbc:this , jdbc:this, sparql-query-lang: ,  virtuoso: , graph:this ;
schema:url linkedin-network-graph: ;
schema:mainEntityOfPage linkedin-network-graph: .

virtuoso-geosparql:this
a schema:CreativeWork, schema:BlogPosting ;
schema:image virtuoso-geosparql-image:;
schema:name "Virtuoso GeoSPARQL Demo Server"@en ;
schema:description """This post details major enhancements made to Geospatial support, improving the Geometry data types and functions, and adding support for the OGC GeoSPARQL 17 standard.  Show casing a collection of GeoSPARQL queries and live query solution links that aid understanding and exploitation of this functionality.
  """@en ;
skos:related linkeddata:this, data-virtualization:this,  odbc:this , jdbc:this, sparql-query-lang:this ,  lod-cloud:this , virtuoso:this , graph:this ;
schema:url virtuoso-geosparql: ;
schema:mainEntityOfPage virtuoso-geosparql:  .

lod-sparql-linkeddata:this
a schema:CreativeWork, schema:BlogPosting ;
schema:image lod-cloud-image: ;
schema:name "Publishing LOD Cloud SPARQL Endpoint Descriptions using Linked Data Principles  "@en ;
schema:description """Virtuoso is the dominant SPARQL Query Service provider in the LOD Cloud Knowledge Graph in this post we share a collection of links, associated with the description of currently discovered and active SPARQL Endpoints, that has been deployed using Linked Data principles.
  """@en ;
skos:related linkeddata:this, data-virtualization:this,  odbc:this , jdbc:this, sparql-query-lang:this ,  lod-cloud:this , virtuoso:this , graph:this ;
schema:url lod-sparql-linkeddata: ;
schema:mainEntityOfPage lod-sparql-linkeddata:  .


basic-sparql-queries-dbpedia:this
a schema:CreativeWork, schema:BlogPosting ;
schema:image virtuoso-sparql-image: ;
schema:name "Running Basic SPARQL Queries Against DBpedia "@en ;
schema:description """This post details how to run basic SPARQL queries with live demonstration links and queries to enable basic search into the vast information contained in DBpedia
  """@en ;
skos:related linkeddata:this, data-virtualization:this,  odbc:this , jdbc:this, sparql-query-lang:this ,  lod-cloud:this , virtuoso:this , graph:this ;
schema:url basic-sparql-queries-dbpedia: ;
schema:mainEntityOfPage basic-sparql-queries-dbpedia:  .


visualizing-sparql-tableau:this
a schema:CreativeWork, schema:BlogPosting ;
schema:image anchor-tableau-dbpedia-image: ;
schema:name "Visualizing SPARQL Results in Tableau "@en ;
schema:description """This post demonstrates how Virtuoso enhances an existing productivity tool (eg Tableau BI, Public Edition) by injecting Super Keys (in the form of DBpedia identifiers) into SPARQL Query Results returned as a CSV document. In a nutshell, Tableau Public becomes a powerful productivity tool for non-programmers that provides navigation and visualization over Linked Data.
  """@en ;
skos:related linkeddata:this, data-virtualization:this,  odbc:this , jdbc:this, sparql-query-lang:this ,  lod-cloud:this , virtuoso:this , graph:this, linkeddata:this ;
schema:url visualizing-sparql-tableau: ;
schema:mainEntityOfPage visualizing-sparql-tableau:  .


wikidata-dbpedia:this
a schema:CreativeWork, schema:BlogPosting ;
schema:name "Mutually Beneficial Nature of DBpedia and Wikidata "@en ;
schema:description """This post provides a simple demonstration of the mutually beneficial nature of Wikidata and DBpedia, through a Federated SPARQL Query that will combine data from both of these rich data sources.
  """@en ;
skos:related linkeddata:this, data-virtualization:this,  odbc:this , jdbc:this, sparql-query-lang:this ,  lod-cloud:this , virtuoso:this , graph:this, linkeddata:this ;
schema:url wikidata-dbpedia: ;
schema:mainEntityOfPage wikidata-dbpedia:  .



## Turtle End ##

Note : If you have OpenLink Structured Data Sniffer (OSDS) Browser extension installed it will reveal the structured meta data embedded within my document. See image below

Screencast Demo

Here is a video demonstration of me using OSDS to review and verify the RDF-Turtle that I have embedded in this forum post

As I said I am not a programmer and have no programming experience, I simply followed the principles outlined in the following OpenLink Software community forum posts:

Related