INFINITECH Support

INFINITECH Tools for Data Exchange and Interoperability

The INFINITECH Support provides tools and methods that facilitate the INFINITECH Core and other Ontologies understanding and adoption, it provides guidance and support for experts and non-experts in the activity of data modelling.

This version:1.0
Revision:
1.0.0
License:
http://creativecommons.org/licenses/by/3.0/ License

INFINITECH Semantic Model - Data Model Support

Semantic Annotator-Middleware Pre-processing Layer for Fintech’s – SAMPLE-FIN back to ToC

The following steps are for the purpose of guiding people to transform their data from native format to RDF format. Each step also lists a set of tools which can be used to perform a specific task.

Selecting Ontologies back to ToC

If you want to transform your data to RDF format, the first thing you need to do is to find an ontology which can be used to model your native data in RDF format. In case of the INFINITECH project, there are several ontologies available. Below is the list of these ontologies.

FIBO

The Financial Industry Business Ontology (FIBO) defines the sets of things that are of interest in financial business applications and the ways that those things can relate to one another. In this way, FIBO can give meaning to any data (e.g., spreadsheets, relational databases, XML documents) that describe the business of finance.

Useful Links
External INFINITECH
Website FIBO FIBO Docs
OWL Files FIBO OWL Files FIBO Files

FIGI

FIGI is a Financial Industry Global Instrument Identifiers (FIGI) Ontology.

Useful Links
External INFINITECH
Website FIGI FIGI Docs
OWL Files FIGI Files

LKIF

The Legal Knowledge Interchange Format (LKIF) is an OWL ontology of legal concepts, allowing legal knowledge bases to be represented in OWL.

Useful Links
External INFINITECH
Website Project Website LKIF Docs
OWL Files LKIF Github LKIF Files
Publications LKIF Core Ontology

INFINITECH Core

INFINITECH Core defines alignment between FIBO, FIGI & LKIF in a formal way.

Useful Links
Website INFINITECH Core
OWL Files INFINITECH Core Files

Mapping Native Data to Selected Ontologies back to ToC

When you have selected the ontologies which can be used to model your data, the next step is to specify mapping from entities and attributes in the native data format to entities and attributes in the selected ontologies. There are some standard mapping languages available which can be used to specify these mappings, such as RML, R2RML etc.

RML: RDF Mapping language

RML, a generic mapping language, based on and extending R2RML. The RDF Mapping language (RML) is a mapping language defined to express customized mapping rules from heterogeneous data structures and serializations to the RDF data model. RML is defined as a superset of the W3C-standardized mapping language R2RML, aiming to extend its applicability and broaden its scope, adding support for data in other structured formats. RML follows exactly the same syntax as R2RML; therefore, RML mappings are themselves RDF graphs. Other than relational databases, currently you can define mappings from sources, such as CSV, TSV, XML and JSON to RDF. Such mappings describe how existing data can be represented using the RDF data model.

Useful Links
Website RML
Specifications RML: RDF Mapping Language

RML Editor

The RMLEditor offers a Graphical User Interface (GUI) to enable data publishers, who are domain experts, to model knowledge derived from multiple, heterogeneous data sources. The RMLEditor uses RML as its underlying mapping language, offering a uniform GUI to its users to edit rules.

Useful Links
Website RML Editor
Onlie Tool RML Editor Web Version

R2RML: RDB to RDF Mapping Language

R2RML is a W3C standard to express customized mappings from relational databases to RDF datasets. Such mappings provide the ability to view existing relational data in the RDF data model, expressed in a structure and target vocabulary of the mapping author's choice. R2RML mappings are themselves RDF graphs and written down in Turtle syntax.

Useful Links
Website R2RML: RDB to RDF Mapping Language

Generating RDF back to ToC

When you have the mappings in place, then the next step is to generate RDF data from native data based on the mappings specified in the previous step. The following tools can be used to transform your data to RDF.

RMLMapper

The RMLMapper executes RML rules to generate Linked Data. It is a Java library, which is available via the command line.

Useful Links
Website RML Mapper

Making RDF data queryable back to ToC

When the data is transformed to RDF successfully, the next step is to enable querying on the RDF data in order to make it easily accessible. In order to do this, you need to select a triple store and upload your data to it. The following triple stores can be used to make your data queryable.

Useful Links
Virtuoso Virtuoso
Jena Fuseki Jena Fuseki

Data Transformation Example back to ToC

This section will explain mapping example data to an ontology and then how the transformed RDF data would look like.

Below is an example database table, i.e. CUSTOMER_TABLE, which contains records of customers. To transform this table to RDF format, you need to create mappings from this table to your selected ontology.

CUSTOMER_ID FIRST_NAME LAST_NAME DATE_OF_BIRTH
1 John Smith 14-04-1985
2 James Oliver 02-11-1974

Below is an example of mappings generated for transforming the above database table to RDF format.

Example Mapping

@prefix rr: <http://www.w3.org/ns/r2rml#>.

@prefix fibo: <https://spec.edmcouncil.org/fibo/ontology/FND/AgentsAndPeople/People/>.


<#CustomerMap>

    rr:logicalTable [ rr:tableName "CUSTOMER_TABLE" ];

    rr:subjectMap [

        rr:template "http://data.example.com/customer/{CUSTOMER_ID}";

        rr:class ex:Person;

    ];


    rr:predicateObjectMap [

        rr:predicate ex:hasFirstName;

        rr:objectMap [ rr:column "FIRST_NAME" ];

    ];


    rr:predicateObjectMap [

        rr:predicate ex:hasSurname;

        rr:objectMap [ rr:column "LAST_NAME" ];

    ];


    rr:predicateObjectMap [

        rr:predicate ex:hasDateOfBirth;

        rr:objectMap [ rr:column "DATE_OF_BIRTH" ];

    ].

The example RDF data generated by transforming the database table, i.e. “CUSTOMER_TABLE” using the above mappings is shown below.

RDF Data

@prefix it: <http://data.example.com/customer/> .

@prefix fibo: <https://spec.edmcouncil.org/fibo/ontology/FND/AgentsAndPeople/People/>.

it:1 a fibo:Person ;

    fibo:hasFirstName "John" ;

    fibo:hasSurname "Smith" ;

    fibo:hasDateOfBirth "14-04-1985" ;

  

it:2 a fibo:Person ;

    fibo:hasFirstName "James" ;

    fibo:hasSurname "Oliver" ;

    fibo:hasDateOfBirth "02-11-1974" ;

INFINITECH Semantic Validator back to ToC

The semantic validator allows INFINITECH developers to validate their data against the most used financial vocabularies and their related ontologies. Users can upload their data from a file or directly add the data in the provided textbox. The semantic validator service will compare the data provided against the selected ontology and the result of the validation gives a validation report that provides inconsistencies with the data.

INFINITECH Graph Data Model Support Tool back to ToC

The INFINITECH Graph Data Model Support tool project, is under go and it will be the mechanism for how the data model in INFINITECH is maintained. A graph data model is a continuous process where vocabularies and taxonomies are included and revised in a periodic basis. If you want to contribute or have any suggestion for improving the INFINITECH graph data model and also for getting further information about improvements in the data model please visit this section regularly.