How to Use SPARQL to add missing isDefinedBy relations to an Ontology?

What?

Using SPARQL to add missing isDefinedBy relations to an Ontology.

Why?

isDefinedBy relations make Ontologies (TBox) more navigable using follow-your-nose pattern. This also makes ABox instance data more discoverable.

How?

Use SPARQL to generate relations that associate Classes and Properties the Ontology that describes them.

Example Using the Ontology for vCards

In this example we will use:


## Uncomment line below if using Virtuoso and executing SPARQL via iSQL or via an ODBC, JDBC, ADO.NET connection
## SPARQL

## Uncomment line (a SPARQL pragma) below if using Virtuoso and there isn't a local Named Graph holding triples retrieved from the Ontology URL

## DEFINE get:soft "add"

INSERT INTO <urn:data:qos:vcard> 
  { ?s rdfs:isDefinedBy <http://www.w3.org/2006/vcard/ns#> }
FROM <http://www.w3.org/2006/vcard/ns>
WHERE 
  {
    ?s a ?o
  }

Example Using the Recorded Media Ontology

In this example we will use:


SPARQL
INSERT INTO <urn:data:qos:ma-ont> 
  { ?s rdfs:isDefinedBy <http://www.w3.org/ns/ma-ont#> }
FROM <http://www.w3.org/ns/ma-ont>
WHERE 
  {
    ?s a ?o
  }

Related