Movatterモバイル変換


[0]ホーム

URL:


Skip to main content

Advertisement

Springer Nature Link
Log in

A Workflow for Generation of LDP

  • Conference paper
  • First Online:

Part of the book series:Lecture Notes in Computer Science ((LNISA,volume 11155))

Included in the following conference series:

  • 2265Accesses

Abstract

Linked Data Platform 1.0 (LDP) is the W3C Recommendation for exposing linked data in a RESTful manner. While several implementations of the LDP standard exist, deploying an LDP is still manual and tighly coupled to the chosen implementation. As a consequence, the same design (in terms of how the data is organised) is difficult to reuse in different LDP deployments. In this paper we propose a workflow for LDP generation to automatize the generation of LDPs from static, dynamic and heterogeneous data sources while keeping the design loosely coupled from the implementation.

You have full access to this open access chapter, Download conference paper PDF

Similar content being viewed by others

Keywords

1Introduction

The aim of the Linked Data Platform (LDP) 1.0 W3C Recommendation [7] is to standardize RESTful access to RDF data. Linked data platforms complying with the LDP standard, which we refer to as LDPs, can be useful in different contexts such as open data, where there is need to have a homogeneous view and access to data to facilitate their exploitation.

Currently, a number of LDP implementations exist. They are mostly referenced in the standard conformance reportFootnote1. Yet, deploying an LDP from existing data sources is still complex. Currently, it requires the development of LDP generators to transform data resources from their native structures to LDP resources which can be deployed in LDP stores. Moreover, while doing so, it is possible that design decision related to the final platform are hardcoded in the LDP generator enhancing a tight coupling between the design and implementation complexifying both the maintainability and reusability. In summary, current LDP implementations are in their early stages as there is little to no support for automating the generation and deployment of LDPs from existing data, even if it is already in RDF.

In our previous works, we described an approach [1] for the generation of LDPs and a simple proof of concept [3] of doing so from static and heterogeneous data sources using existing LDP implementations. In this paper, our objective is to present the extension of the former proof of concept as a refined approach that we refer to as the LDP generation workflow. In addition to considering static and heterogeneous data sources, the novelty of this approach is the ability to deploy LDPs on dynamic data sources and to provide fresh data for LDP resources at query time, a feature which is not yet natively supported directly by any existing LDP implementation. To this end, first we provide an overview of our approach (Sect. 2) followed by its implementation (Sect. 3) and demonstration in different scenarios (Sect. 4). Finally, we conclude with an outlook on future works (Sect. 5).

2Our Approach: The LDP Generation Workflow

Our approach is based on model-driven engineering that involves using models as first-class entities and transforming them into running systems by using generators or by dynamically interpreting the models at run-time [5]. Doing so enables separation of concerns thus guaranteeing higher reusability of systems’ models [8].

Fig. 1.
figure 1

General overview of the LDP Generation Workflow

Figure 1 shows a general overview of the approach that includes two processes: LDPization and deployment. In the former process, the LDPizer consumes a design document written in our language, LDP-DL, that we use as a domain-specific language, a core component of model-driven engineering, to explicitly describe LDP design models. Concerning LDP-DL, its abstract syntax is described in our technical report [4] while its concrete RDF syntax of LDP-DL is given in its specification [2]. The LDPizer interprets the model and exploits the data sources to generate what we call an LDP dataset, which is a structure to store LDP resources introduced to abstract ways from how current implementations store resources. The deployment process involves configuring the LDP and loading the LDP dataset into it. It can be done in two ways based on the nature of the LDP server. First, if the LDP server acceptsPOST requests, an LDP Dataset Deployer can generate and send such requests for each resource contained in the LDP dataset. Second, using an LDP server that can directly consume the LDP dataset and expose resources from it. For now, our approach only requires the design document from which the entire LDP can be automatically generated.

3Implementation

In this section, we describe our implementation which consists of a tool for every component from the LDP generation workflow (Fig. 2).

Fig. 2.
figure 2

Implementation of our LDP Generation Workflow

ShapeLDPFootnote2 is an LDPizer that interprets documents written in LDP-DL refered to asdesign documents. To exploit heterogeneous data sources, lifting rules specified for\(\mathtt {DataSource}\)s in SPARQL-Generate [6] are used. ShapeLDP can process design documents instatic evaluation (resp.dynamic evaluation) to produce astatic (resp.dynamic)LDP dataset. The difference between these two types of LDP dataset is that the static one contains the materialized RDF graph of the LDP resource while the dynamic one contains the information to generate this RDF graph and can thus be used for dynamic or real-time data sources. The algorithms used in ShapeLDP and the formal models of LDP dataset (static or dynamic) are given in our technical report [4].

InterLDPFootnote3 is an LDP server which can directly consume an LDP dataset (static or dynamic) and expose resources from it. It was validated against the conformance tests of the LDP read interactions.Footnote4 In the static mode, it consumes static LDP dataset and exposes resources from it. In the dynamic mode, it is able to consider dynamic and real-time heterogeneous or RDF data sources and process the request for a particular resource and generate its RDF graph at query time.

POSTerLDPFootnote5 is the implementation of the LDP Dataset Deployer. It consumes a static LDP dataset and deployment parameters: base URL of LDP server and optionally the username and password for basic authentication on the server. It can function in two different modes:append andupdate. In theappend mode, it sends onlyPOST request to the server to create resources from the LDP dataset. In theupdate mode, for resources on the LDP having similar URLs with that from the LDP dataset, aPUT request with the RDF graph from the LDP dataset is sent for those resources.

HubbleLDPFootnote6 is an LDP browser that can be used to browse resources on an LDP and view their content. Figure 3 shows a screenshot which is actually an instance of it is running athttp://bit.ly/2BGYl9X loaded with an LDPFootnote7 about DCAT catalogueFootnote8 and organization of its datasets in different languages.

Fig. 3.
figure 3

Screenshot of HubbleLDP

4Demonstration

We perform several experiments to show that our approach can significantly automatize the generation of LDPs from static, dynamic and heterogeneous data sources while keeping the design loosely coupled from the implementation. A description of all these experiments can be found on our GitHub pageFootnote9. Below, we describes some of these experiments.

Reusability of Design Documents. We perform two experiments to show that design documents are indeed reusable. In the first experimentFootnote10, we consider 22 DCAT datasets from data portals as input data sources along 5 design documents. Every design document is applied of all data sources showing their reusability and on every data source, 5 design documents are applied showing the flexibility. In all, 110 LDPs are generated. In the second experimentFootnote11, we consider two generic design documents that can we reused on RDF graph that uses RDFS/OWL vocabularies and apply them on one input data source to generate two LDPs with different designs. These two experiments shows that the design is highly reusable and not tighly coupled to any specific implementation.

Heterogeneous Data SourcesFootnote12. Handling heterogeneity of data portals is demonstrated by doing deploying 2 datasets, in JSON and CSV formats, via an LDP. In the design document, the original data source is specified together with a lifting rule. Using SPARQL-Generate, the RDF data is generated and used by ShapeLDP to generate the LDP dataset which is finally deployed as an LDP using InterLDP.

Dynamic Data SourcesFootnote13. Then, we use a dataset which is being updated on a real-time basis and deploy it via an LDP to show that our approach can cope with hosting constraints. Using dynamic evaluation in ShapeLDP, the dynamic LDP dataset is generated and used by InterLDP to expose the LDP. Generating response for LDP-RSs takes more time because their content are generated at the query time using real-time data from the source.

Compatibility with Existing LDP ImplementationsFootnote14. To show that our approach is compatible with existing LDP servers, we use POSTerLDP to deploy 2 LDPs over LDP servers that are instances of Apache Marmotta and Gold, both of them being reference implementation of the LDP standard.

5Conclusion and Future Work

Linked Data Platforms can potentially ease the work of data consumers, but there is not much support from implementations to automate the generation and deployment of LDPs. Considering this, we proposed an approach, the LDP generation workflow, whose core is a language, LDP-DL, to generate LDPs. We describe the approach, give an implementation of it and demonstrates its ability to generate LDPs from static, dynamic, heterogeneous data sources while keeping the design loosely coupled from the implementation. Several improvements can be envisaged such as considering new design aspects (access rights, pagination etc.), support non-RDF sources and other types of LDP containers which we intend to consider in future versions.

References

  1. Bakerally, N.: Towards automatic deployment of linked data platforms. In: ISWC Doctoral Consortium (2017)

    Google Scholar 

  2. Bakerally, N.: LDP-DL: RDF syntax and mapping to abstract syntax. Technical report, Mines Saint-Étienne (2018).https://w3id.org/ldpdl

  3. Bakerally, N., Zimmermann, A.: A system to automatize the deployment of data in linked data platforms. In: ISWC 2017 Posters & Demo (2017)

    Google Scholar 

  4. Bakerally, N., Zimmermann, A., Boissier, O.: LDP-DL: a language to define the design of Linked Data Platforms. Technical report, Mines Saint-Étienne (2018).http://w3id.org/ldpdl/technical_report.pdf

  5. France, R.B., Rumpe, B.: Model-driven development of complex software: a research roadmap. In: FOSE (2007)

    Google Scholar 

  6. Lefrançois, M., Zimmermann, A., Bakerally, N.: A SPARQL extension for generating RDF from heterogeneous formats. In: ESWC (2017)

    Google Scholar 

  7. Speicher, S., Arwe, J., Malhotra, A.: Linked Data Platform 1.0, W3C Recommendation 26 February 2015. Technical report, W3C (2015)

    Google Scholar 

  8. Stahl, T., Volter, M., Bettin, J., Haase, A., Helsen, S.: Model-Driven Software Development: Technology, Engineering, Management. Pitman (2006)

    Google Scholar 

Download references

Acknowledgments

This work is supported by grant ANR-14-CE24-0029 fromAgence Nationale de la Recherche for project OpenSensingCity.

Author information

Authors and Affiliations

  1. Univ Lyon, IMT Mines Saint-Étienne, CNRS, Laboratoire Hubert Curien UMR 5516, 42023, Saint-Étienne, France

    Noorani Bakerally, Antoine Zimmermann & Olivier Boissier

Authors
  1. Noorani Bakerally

    You can also search for this author inPubMed Google Scholar

  2. Antoine Zimmermann

    You can also search for this author inPubMed Google Scholar

  3. Olivier Boissier

    You can also search for this author inPubMed Google Scholar

Corresponding author

Correspondence toNoorani Bakerally.

Editor information

Editors and Affiliations

  1. University of Bologna, Bologna, Italy

    Aldo Gangemi

  2. IBM Research - Almaden, San Jose, CA, USA

    Anna Lisa Gentile

  3. CNR-ISTC, Rome, Italy

    Andrea Giovanni Nuzzolese

  4. Technische Universität Dresden, Dresden, Germany

    Sebastian Rudolph

  5. Karlsruhe Institute of Technology, Karlsruhe, Germany

    Maria Maleshkova

  6. University of Mannheim, Mannheim, Germany

    Heiko Paulheim

  7. University of Aberdeen, Aberdeen, UK

    Jeff Z Pan

  8. CNR-ISTC, Rome, Italy

    Mehwish Alam

Rights and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Bakerally, N., Zimmermann, A., Boissier, O. (2018). A Workflow for Generation of LDP. In: Gangemi, A.,et al. The Semantic Web: ESWC 2018 Satellite Events. ESWC 2018. Lecture Notes in Computer Science(), vol 11155. Springer, Cham. https://doi.org/10.1007/978-3-319-98192-5_27

Download citation

Publish with us


[8]ページ先頭

©2009-2025 Movatter.jp