Towards automatic deployment of Linked Data Platforms 1 Problem Statement
Résumé
In the open data context, multiple data sources found at different locations on the Web generate massive heterogeneous sets of data. Using data from these data sources can provide useful information for decision making purposes in different domains. However, the levels of heterogeneity (e.g. syntactic, semantic, access etc.) render the exploitation of these data sources complex. Linked data platforms complying with the Linked Data Platform (LDP) standard [13], which we refer to as LDPs, can be used to facilitate data exploitation from these sources by providing a homogeneous view and access to one or more of them. However, the main problem is that putting in place an LDP in itself is complex. It can be decomposed into sub-problems categorized in the three main phases of an LDP development life cycle: design, implementation and deployment. The design phase involves characterizing design aspects (e.g. characterizing content of Linked Data resources) and taking design decisions based on design choices (e.g. providing only triples where the Linked Data resource is the subject). Design decisions can be based on intuition and made without a proper justification or can also be supported by design guides. We refer to design guides as the set of standards, best practices, principles or design patterns which can be used to guide a design decision. The problem P1 is that this phase is complex as design decision making process is manual and thus time consuming. Also knowledge of design guides is required to make proper design decisions. After the design phase, the implementation phase starts the design decisions are encoded in the final product. The problem P2 in this phase is that existing LDP solutions do not provide native support for decoupling the design and the implementation. As a result, using the solutions as they are can lead to tight coupling between the design and the implementation, hence, making it complex to maintain and reuse the design. Finally, the implementation is deployed in a software environment.