Copyright © 2013 INRIA
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.
Ratio4TA (interlinked explanations for triple assertions) is an OWL ontology for describing explanation metadata. It allows describing metadata about data, reasoning processes, results, data derivations, rules, and software applications. Ratio4TA extends the W3C PROV Ontology. This promotes interoperability by enabling data consumers process explanation metadata according to W3C PROV standards.
The figure below shows the core classes and properties ofRatio4TA.
This example shows how to encode explanation metadata using Ratio4TA. In this example, an application consumes data from DBPedia and GeoNames and infers new information.
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 explanation metadata.
# 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 and infers 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. }
In the following code segment, we show the encoding of explanation metadata using Ratio4TA. We use r4ta
as the namespace prefix for the terms of Ratio4TA in the example encoding.
# Explanation lodapp:explanation1 { # Type declarations lodapp:explanation1 r4ta:explains lodapp:data1 . lodapp:explanation1 rdf:type r4ta:ExplanationBundle . 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 . }
IRI: http://ns.inria.fr/ratio4ta/v3#Data
A data is a set of RDF statements.
IRI: http://ns.inria.fr/ratio4ta/v3#DataDerivation
A data derivation represents a derivation that is performed as part of a reasoning process.
IRI: http://ns.inria.fr/ratio4ta/v3#InputData
An input data represents an input data (a set of RDF statements) used by a reasoning process.
IRI: http://ns.inria.fr/ratio4ta/v3#ExplanationBundle
An explanation bundle is a set of RDF statements which explain how a data was derived.
IRI: http://ns.inria.fr/ratio4ta/v3#OutputData
An output data represents an output data by a reasoning process.
IRI: http://ns.inria.fr/ratio4ta/v3#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.
IRI: http://ns.inria.fr/ratio4ta/v3#Result
A result represents a result computed by a reasoning proces.
IRI: http://ns.inria.fr/ratio4ta/v3#Rule
A rule represents a rule that a reasoning process uses for a data derivation.
IRI: http://ns.inria.fr/ratio4ta/v3#SoftwareApplication
A software application consumes and produces data.
IRI: http://ns.inria.fr/ratio4ta/v3#belongsTo
IRI: http://ns.inria.fr/ratio4ta/v3#computed
IRI: http://ns.inria.fr/ratio4ta/v3#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.
IRI: http://ns.inria.fr/ratio4ta/v3#derivationReasoner
A software application performs derivations. The derivationReasoner property specifies a data derivation performed by a software application.
IRI: http://ns.inria.fr/ratio4ta/v3#derivedBy
A data derivation uses rules and derives output data. The derivedBy property specifies an output data derived by a data derivation.
IRI: http://ns.inria.fr/ratio4ta/v3#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.
IRI: http://ns.inria.fr/ratio4ta/v3#hasExplanation
An explanation bundle contains statements about how an instance of data was derived. The hasExplanation property specifies a data explained by an explanation bundle.
IRI: http://ns.inria.fr/ratio4ta/v3#explains
An explanation bundle contains statements about how an instance of data was derived. The explains property specifies an explanation bundle that explains a data.
IRI: http://ns.inria.fr/ratio4ta/v3#performedAsPartOf
A reasoning process performs data derivations. The performedAsPartOf specifies a data derivation is performed as part of a reasoning process.
IRI: http://ns.inria.fr/ratio4ta/v3#performedBy
A software application performs a reasoning process. The performedBy property specifies a reasoning process is performed by a software application.
IRI: http://ns.inria.fr/ratio4ta/v3#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.
IRI: http://ns.inria.fr/ratio4ta/v3#resultReasoner
A software application performs reasoning to computes results. The resultReasoner property specifies result has an associated software application.
IRI: http://ns.inria.fr/ratio4ta/v3#summarizationOf
A summarized explanation bundle can contain the most important information from an explanation bundle. The summarizationOf property specifies an explanation bundle is a summarization of a explanation bundle.
IRI: http://ns.inria.fr/ratio4ta/v3#usedData
A reasoning process uses input data to compute its results. The usedData property specifies a reasoning process used an instance of input data.
IRI: http://ns.inria.fr/ratio4ta/v3#usedRule
Data derivations use rules to perform derivations. The usedRule property specifies a data derivation used a rule.
IRI: http://ns.inria.fr/ratio4ta/v3#wasInvolvedComputing
A reasoning process performs data derivations to compute results. The wasInvolvedComputing property specifies a data derivation was involved in computing a result.
This visual layout has been adapted from the FOAF Vocabulary Specification, the PRISSMA Vocabulary Specification, and LODE, Live OWL Documentation Environment.