Soft ontology reuse (was: Is LOD-cloud alive?)

On Wed, 18 Jan 2017 12:01:22 -0800, Krzysztof Janowicz <janowicz@ucsb.edu> wrote:
> No, they are open. They are just not 'linked' to other ontologies. In 
> fact, many people would say that the way some of us think about 'reuse' 
> of ontologies is highly problematic but that is an entirely different 
> story. Keep in mind that the discussion here is a reflection on 
> Alberto's email, not about whether LOV is useful or not (and I clearly 
> believe it is).

Yes, directly reusing ontologies (e.g. owl:imports) can come with many
technical challenges such as inconsitencies at reasoning level (e.g. OWL)
or network dependencies (purl.org still fresh in mind)

So I understand many don't want to do such strong reuse - indeed I have myself
moved instead to a model of a "soft reuse", with extensions of existing
ontologies through "citations" instead.


## Soft ontology reuse

Copy only the URI (and type), then (important!) cite back to the original
ontology with rdfs:isDefinedBy.  If that ontology does not already have an
authorative rdfs:isDefinedBy or owl:versionIRI you can use, cry for a bit, and
then use a retrievable IRI to the ontology - which might differ from the
namespace.


For instance (adapted from http://purl.org/pav/):

 @prefix pav:  <http://purl.org/pav/> .
 @prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
 @prefix dcterms:  <http://purl.org/dc/terms/> .


 pav:authoredBy  rdf:type    owl:ObjectProperty ;
   rdfs:subPropertyOf  dcterms:creator .

 dcterms:creator  rdfs:isDefinedBy  <http://purl.org/dc/terms/> .

Luckily here the namespace is already what is is declared as rdfs:isDefinedBy
upstream and we don't need to cry :)


(BTW, copying anything more than the URI would mean you are making a derived
work and it would no longer be "fair use", and so have to fully comply with
(and propagate) the original license - if that is even stated)


With soft ontology reuse, inferences like dcterms:creator being a subproperty
of dcterms:contributor would not be visible unless you also loaded the full
dcterms ontology - a kind of optional inference if you like.

I think this would be my prefered way of soft ontology reuse.


## Even softer


In some cases the above can get fragile - e.g. the vocabulary you cite is not
directly compatible ontology-wise (e.g. too strong rdfs:range). In that case I
would strongly encourage to still have a rdfs:seeAlso or SKOS mapping to
existing ontologies where it seems obvious.


For example, let's say you have an ontology of workers at companies, but it is
for whatever reason not directly compatible with the model of FOAF; let's say
you have a simple property ex:companyName:

    <http://example.com/person1> ex:companyName "Example inc." .

In FOAF this would instead be modelled indirectly with a resource for the work
place and an inverse link foaf:member to the person:

    <http://example.com/> a foaf:Organization ;
        foaf:name "Example inc." ;
        foaf:member <http://example.com/person1> .

And in schema.org using schema:worksFor from the person:

   <http://example.com/person1> schema:worksFor <http://example.com> .

   <http://example.com> a schema:Organization;
      schema:name "Example inc." .


And so we can't use rdfs:isSubPropertyOf here to map ex:companyName to FOAF
or schema.org, as that would imply things like person1 being an organization
and having the name "Example inc.".

But let's still keep some kind of link:


 @prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
 @prefix owl:    <http://www.w3.org/2002/07/owl#>.
 @prefix foaf:   <http://xmlns.com/foaf/0.1/>.
 @prefix skos:   <http://www.w3.org/2004/02/skos/core#>.
 @prefix schema: <http://schema.org/>.
 @prefix ex:     <http://example.org/>.

 ex:companyName a owl:DatatypeProperty ;
   rdfs:seeAlso foaf:name, foaf:member, schema:worksFor, schema:name ;
          skos:closeMatch schema:worksFor ;
   skos:relatedMatch foaf:name, foaf:member, schema:name .

 foaf:name rdfs:isDefinedBy <http://xmlns.com/foaf/0.1/> .
 foaf:member rdfs:isDefinedBy <http://xmlns.com/foaf/0.1/> .
        schema:name rdfs:isDefinedBy schema:name .
        schema:worksFor rdfs:isDefinedBy schema:worksFor .

The various SKOS mapping properties can be used when something is more specific
or broader: 
https://www.w3.org/TR/skos-reference/#mapping


This would mean your ontology can be not just Open, but also Linked - and thus
resources with statements using just your ontology could be seen as part of the
mythical "LOD cloud" rather than an isolated "semantic island".

Obviously in this second approach you can't do much reasoning and infer
SKOS/FOAF statements, but at least you can follow the links rather than 
be an isolated ontology. 

An isolated ontology/namespace with no links would in my view would just be
slightly better than a arbitrary custom XML or JSON properties.  (Luckily using
URIs still allows others to do such a mapping at a later point)



-- 
Stian Soiland-Reyes
University of Manchester
http://www.esciencelab.org.uk/
http://orcid.org/0000-0001-9842-9718

Received on Thursday, 19 January 2017 10:57:05 UTC