Ratio4TA Vocabulary Specification 0.2

Namespace Document 6 November 2012

This version:
http://ns.inria.fr/ratio4ta/v2/ (rdf)
Latest version:
http://ns.inria.fr/ratio4ta/ (rdf)
Previous version:
http://ns.inria.fr/ratio4ta/v1/ (rdf)
Status:
Work in progress
Authors
Rakebul Hasan, INRIA, France
Fabien Gandon, INRIA, France
IRI:
http://ns.inria.fr/ratio4ta/v2
Creative Commons License This work is licensed under a Creative Commons Attribution License. This copyright applies to the Ratio4TA Vocabulary Specification and accompanying documentation in RDF.

Ratio4TA uses W3C's open and freely available Web standards: RDF technology and The PROV Ontology. Ratio4TA also uses the Named Graphs Vocabulary.


Abstract

The Semantic Web applications use inferencial capibilities and distributed data to compute their results. These applications should provide explanations about how they obtian their results to ensure their effectiveness and increase user acceptance. Justifications enable generation of such explanations. Ratio4TA (interlinked justifications for triple assertions) is a lightweight vocabulary for encoding justifications. Ratio4TA specializes W3C PROV Ontology (PROV-O). As a result, justifications described using Ratio4TA are easily processable according to the W3C PROV standards.

Table of Content

  1. Introduction
  2. Example
  3. Classes
  4. Object Properties
  5. Namespace Declarations

Introduction

Ratio4TA is an OWL ontology for describing justifications. Justifications are metadata about how a given piece data is obtained. Ratio4TA allows data publishers to publish metadata about their published data. Applications can describe their reasoning processes and links between their consumed and produced data using Ratio4TA.

Ratio4TA facilitates explanation of reasoning processes in a Web-scale. Applications can publish their data along with justification related metadata as Linked Data using Ratio4TA. Other applications can consume these data with justification metadata and provide explanations about their consumed data - generated from the justification metadata of the consumed data. In this way, applications can provide explanations of distributed reasoning processes by following the links between justifications.

Ratio4TA extends the W3C PROV Ontology (PROV-O Working Draft 03 May 2012). This promotes interoperability by enabling data consumers process justification metadata according to W3C PROV standards.

The figure below shows the classes and properties ofRatio4TA.

Simplified model

The boxes highlighted black show the terms of Ratio4TA in the figure above. In the rest of the document, we will provide an example encoding of justification, and provide definitions of the terms in Ratio4TA.

Example

This example shows how an application can use Ratio4TA to produce justifications. The example application consumes data from DBPedia and GeoNames and infers new information. We show how to encode justifications using Ratio4TA in this scenario.

The following code segment shows the data that our example application consumes from DBPedia. Note that this data is inside a dereferenceable named graph which allows us to refer to this piece of data from justifications.

# From Dbpedia
lodapp:inputData1 {
  dbpedia:Philadelphia owl:sameAs geonames:4560349 .
}

The application also consumes the following GeoNames data.

# From GeoNames
lodapp:inputData2 {
  geonames:4560349 gn:parentFeature geonames:5205788.
}

# geonames:4560349 is the GeoNames concept for Philadelphia .
# geonames:5205788 is the GeoNames concept for Philadelphia County .

The application applies a rule to its consumed data to infer new information. The rule roughly translates to natural language as following:

IF ANY PLACE ?A IS SAME AS ?B AND ?B HAS A PARENT FEATURE ?C
THEN ?A HAS A PARENT FEATURE ?C.
    

The application infers the following statement applying this rule.

# Derived
lodapp:data1 {
  dbpedia:Philadelphia gn:parentFeature geonames:5205788.
}

This application can use Ratio4TA to describe this derivation process. In the following code segment an encoding of this process using Ratio4TA. We use r4ta as the namespace prefix for the terms of Ratio4TA in the example encoding.

# Justification
lodapp:justification1 {

  # Type declarations 
  lodapp:justification1 r4ta:justifies lodapp:data1 .
  lodapp:justification1 rdf:type r4ta:JustificationAccount .
  lodapp:reasoningProcess1 rdf:type r4ta:ReasoningProcess .
  lodapp:corese rdf:type r4ta:SoftwareApplication .
  lodapp:geoFeatureRule rdf:type r4ta:Rule .
  lodapp:result1 rdf:type r4ta:Result .
  lodapp:data1 rdf:type r4ta:OutputData .
  lodapp:inputData1 rdf:type r4ta:InputData .
  lodapp:inputData2 rdf:type r4ta:InputData .
  lodapp:derivation1 rdf:type r4ta:DataDerivation .

  # Reasoning process
  lodapp:reasoningProcess1 r4ta:performedBy lodapp:corese .
  lodapp:reasoningProcess1 r4ta:usedData lodapp:inputData1.
  lodapp:reasoningProcess1 r4ta:usedData lodapp:inputData2.
  lodapp:reasoningProcess1 r4ta:computed lodapp:result1 .
  lodapp:reasoningProcess1 r4ta:produced lodapp:data1 .

  # Computed result
  lodapp:result1 r4ta:resultReasoner lodapp:corese .

  # Output data
  lodapp:data1 r4ta:derivedFrom lodapp:inputData1 .
  lodapp:data1 r4ta:derivedFrom lodapp:inputData2 .
  lodapp:data1 r4ta:belongsTo lodapp:result1 .
  lodapp:data1 r4ta:derivedBy lodapp:derivation1 .

  # Data derivation
  lodapp:derivation1 r4ta:usedRule lodapp:geoFeatureRule .
  lodapp:derivation1 r4ta:wasInvolvedInComputing lodapp:result1 .
  lodapp:derivation1 r4ta:derivationReasoner lodapp:corese .
  lodapp:derivation1 r4ta:performedAsPartOf lodapp:reasoningProcess1 .
}

From these justification metadata, we can trace back to the data from which the new statement was derived.

Classes

Datac back to ToC or Class ToC

IRI: http://ns.inria.fr/ratio4ta/v2#Data

A data is a set of RDF statements.

has super-classes
has sub-classes
InputDatac, OutputDatac
is in domain of
:derivedFromop, :justifiedByop
is in range of
:derivedFromop

DataDerivationc back to ToC or Class ToC

IRI: http://ns.inria.fr/ratio4ta/v2#DataDerivation

A data derivation represents a derivation that is performed as part of a reasoning process.

has super-classes
is in domain of
:derivationReasonerop, :performedAsPartOfop, :usedRuleop, :wasInvolvedComputingop
is in range of
:derivedByop

InputDatac back to ToC or Class ToC

IRI: http://ns.inria.fr/ratio4ta/v2#InputData

An input data represents an input data (a set of RDF statements) used by a reasoning process.

has super-classes
is in range of
:usedDataop

JustificationAccountc back to ToC or Class ToC

IRI: http://ns.inria.fr/ratio4ta/v2#JustificationAccount

A justification account is a set of RDF statement which justify how a data was derived.

has super-classes
is in domain of
:summarizationOfop
is in range of
:justifiedByop, :summarizationOfop

OutputDatac back to ToC or Class ToC

IRI: http://ns.inria.fr/ratio4ta/v2#OutputData

An output data represents an output data by a reasoning process.

has super-classes
is in domain of
:belongsToop, :derivedByop
is in range of
:producedop

ReasoningProcessc back to ToC or Class ToC

IRI: http://ns.inria.fr/ratio4ta/v2#ReasoningProcess

A reasoning process represents a reasoning process of a software application. A reasoning process uses input data and computes results. Each of these computed results includes output data. Data derivations may be performed as part of a reasoning process which may lead to producing new data that were not explicitly given in the input data.

has super-classes
is in domain of
:computedop, :performedByop, :producedop, :usedDataop
is in range of
:performedAsPartOfop

Resultc back to ToC or Class ToC

IRI: http://ns.inria.fr/ratio4ta/v2#Result

A result represents a result computed by a reasoning proces.

has super-classes
is in domain of
:resultReasonerop
is in range of
:belongsToop, :computedop, :wasInvolvedComputingop

Rulec back to ToC or Class ToC

IRI: http://ns.inria.fr/ratio4ta/v2#Rule

A rule represents a rule that a reasoning process uses for a data derivation.

has super-classes
is in range of
:usedRuleop

SoftwareApplicationc back to ToC or Class ToC

IRI: http://ns.inria.fr/ratio4ta/v2#SoftwareApplication

A software application consumes and produces data.

has super-classes
is in range of
:derivationReasonerop, :performedByop, :resultReasonerop

Object Properties

:belongsToop back to ToC or Object Property ToC

IRI: http://ns.inria.fr/ratio4ta/v2#belongsTo

A reasoning process uses input data and computes results. Each of these computed results includes output data. The belongsTo property specifies an output data belongs to a result.
has super-properties
has domain
has range
is inverse of

:computedop back to ToC or Object Property ToC

IRI: http://ns.inria.fr/ratio4ta/v2#computed

A reasoning process computes results. The computed property specifies an reasoning process computes a result.
has super-properties
has domain
has range

:containsop back to ToC or Object Property ToC

IRI: http://ns.inria.fr/ratio4ta/v2#contains

A reasoning process uses input data and computes results. Each of these computed results includes output data. The contains property specifies a result contains an output data.

is inverse of

:derivationReasonerop back to ToC or Object Property ToC

IRI: http://ns.inria.fr/ratio4ta/v2#derivationReasoner

A software application performs derivations. The derivationReasoner property specifies a data derivation performed by a software application.

has super-properties
has domain
has range

:derivedByop back to ToC or Object Property ToC

IRI: http://ns.inria.fr/ratio4ta/v2#derivedBy

A data derivation uses rules and derives output data. The derivedBy property specifies an output data derived by a data derivation.

has super-properties
has domain
has range

:derivedFromop back to ToC or Object Property ToC

IRI: http://ns.inria.fr/ratio4ta/v2#derivedFrom

A data derivation transforms a data into another, constructs a data into another, or updates a data, resulting in a new one. Note that by data we mean an instance of the Data class. The derivedFrom property specifies a data derived from a data.

has super-properties
has domain
has range

:justifiedByop back to ToC or Object Property ToC

IRI: http://ns.inria.fr/ratio4ta/v2#justifiedBy

A justification account contains statements about how an instance of data was derived. The justifiedBy property specifies a data justified by a justification account.

has super-properties
has domain
has range
is inverse of
  • :justifiesop

:justifiesop back to ToC or Object Property ToC

IRI: http://ns.inria.fr/ratio4ta/v2#justifies

A justification account contains statements about how an instance of data was derived. The justifies property specifies a justification account justifies a data.

is inverse of

:performedAsPartOfop back to ToC or Object Property ToC

IRI: http://ns.inria.fr/ratio4ta/v2#performedAsPartOf

A reasoning process performs data derivations. The performedAsPartOf specifies a data derivation is performed as part of a reasoning process.

has super-properties
has domain
has range

:performedByop back to ToC or Object Property ToC

IRI: http://ns.inria.fr/ratio4ta/v2#performedBy

A software application performs a reasoning process. The performedBy property specifies a reasoning process is performed by a software application.

has super-properties
has domain
has range

:producedop back to ToC or Object Property ToC

IRI: http://ns.inria.fr/ratio4ta/v2#produced

A reasoning process computes results and a computed result contains output data. The produced property specifies a reasoning process produced an instance of output data.

has super-properties
has domain
has range

:resultReasonerop back to ToC or Object Property ToC

IRI: http://ns.inria.fr/ratio4ta/v2#resultReasoner

A software application performs reasoning to computes results. The resultReasoner property specifies result has an associated software application.

has super-properties
has domain
has range

:summarizationOfop back to ToC or Object Property ToC

IRI: http://ns.inria.fr/ratio4ta/v2#summarizationOf

A summarized justification can contain the most important information from several justifications. The summarizationOf property specifies a justification account is a summarization of a justification account. Since a summarized justification account is a summary of multiple justification accounts, there will be multiple statements describing the links between a summarized justification account and its original justification accounts using this property.

has super-properties
has domain
has range

:usedDataop back to ToC or Object Property ToC

IRI: http://ns.inria.fr/ratio4ta/v2#usedData

A reasoning process uses input data to compute its results. The usedData property specifies a reasoning process used an instance of input data.

has super-properties
has domain
has range

:usedRuleop back to ToC or Object Property ToC

IRI: http://ns.inria.fr/ratio4ta/v2#usedRule

Data derivations use rules to perform derivations. The usedRule property specifies a data derivation used a rule.

has super-properties
has domain
has range

:wasInvolvedComputingop back to ToC or Object Property ToC

IRI: http://ns.inria.fr/ratio4ta/v2#wasInvolvedComputing

A reasoning process performs data derivations to compute results. The wasInvolvedComputing property specifies a data derivation was involved in computing a result.

has super-properties
has domain
has range

Namespace Declarations back to ToC

default namespace
http://ns.inria.fr/ratio4ta/v2#
owl
http://www.w3.org/2002/07/owl#
prov
http://www.w3.org/TR/2012/WD-prov-o-20120503/prov.owl#
rdf
http://www.w3.org/1999/02/22-rdf-syntax-ns#
rdfg
http://www.w3.org/2004/03/trix/rdfg-1/
rdfs
http://www.w3.org/2000/01/rdf-schema#

This visual layout has been adapted from the FOAF Vocabulary Specification, the PRISSMA Vocabulary Specification, and LODE, Live OWL Documentation Environment.