RDF Presentation over Jersey server

An implementation of RDF Presentation and RDF Presentation negotiation for Jersey servers

License

License

Categories

Categories

Jersey Program Interface REST Frameworks
GroupId

GroupId

com.github.thesmartenergy
ArtifactId

ArtifactId

rdfp-jersey-server
Last Version

Last Version

1.2.2
Release Date

Release Date

Type

Type

jar
Description

Description

RDF Presentation over Jersey server
An implementation of RDF Presentation and RDF Presentation negotiation for Jersey servers
Project Organization

Project Organization

ITEA 12004 SEAS Project

Download rdfp-jersey-server

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.thesmartenergy/rdfp-jersey-server/ -->
<dependency>
    <groupId>com.github.thesmartenergy</groupId>
    <artifactId>rdfp-jersey-server</artifactId>
    <version>1.2.2</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.thesmartenergy/rdfp-jersey-server/
implementation 'com.github.thesmartenergy:rdfp-jersey-server:1.2.2'
// https://jarcasting.com/artifacts/com.github.thesmartenergy/rdfp-jersey-server/
implementation ("com.github.thesmartenergy:rdfp-jersey-server:1.2.2")
'com.github.thesmartenergy:rdfp-jersey-server:jar:1.2.2'
<dependency org="com.github.thesmartenergy" name="rdfp-jersey-server" rev="1.2.2">
  <artifact name="rdfp-jersey-server" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.thesmartenergy', module='rdfp-jersey-server', version='1.2.2')
)
libraryDependencies += "com.github.thesmartenergy" % "rdfp-jersey-server" % "1.2.2"
[com.github.thesmartenergy/rdfp-jersey-server "1.2.2"]

Dependencies

compile (8)

Group / Artifact Type Version
com.github.thesmartenergy : rdfp-core jar 1.2.2
javax.ws.rs : javax.ws.rs-api jar 2.0.1
org.apache.jena : jena-arq jar 3.0.1
com.github.thesmartenergy : sparql-generate-jena jar 1.1
fr.inria.wimmics : kgengine jar 3.2.1
org.semarglproject : semargl-rdf jar 0.6.1
com.github.jsonld-java : jsonld-java jar 0.3
org.openrdf.sesame : sesame-rio-api jar 4.1.2

provided (3)

Group / Artifact Type Version
javax : javaee-web-api jar 7.0
javax.annotation : javax.annotation-api jar 1.2
org.glassfish.jersey.core : jersey-server jar 2.22.2

test (2)

Group / Artifact Type Version
junit : junit jar 4.12
org.hamcrest : hamcrest-core jar 1.3

Project Modules

There are no modules declared in this project.

RDF Presentation and RDF Presentation Negotiation

An RDF graph can be presented in several ways, using different media types. Examples of RDF media types include application/rdf+xml, text/turtle, application/json+ld.

Today, most of the content consumed/produced/published, on the Web is not presented in RDF.

In the Web of Things, HTTP servers and clients would rather exchange lightweight documents, potentially binary. Currently, most existing RDF Presentations generically apply to any RDF graph, at the cost of being heavy text-based documents. Yet, lightweight HTTP servers/clients could be better satisfied with consuming/producing/publishing lightweight documents, may its structure be application-specific.

On the other hand, various formalisms have been developed:

For a given range of RDF graphs and a specific media types, an RDF Presentation is a combination of lifting, lowering, and validation rules. With these rules, one can coherently interpret a representation as RDF (lift), validate the RDF graph, and generate back the representation from the RDF graph (lower).

While sending any kind of document, potentially lightweight, an HTTP server/client may refer to the specific RDF Presentation that is used. Then, the HTTP client/server can lift the document to RDF, and validate it.

Similarly, while requesting for an RDF graph, an HTTP server/client may inform the client/server what representation it prefers. Then, the client/server can validate the RDF graph, then lower it into a document.

What this project contains

This project contains the sources for the RDF Presentation project:

  • rdfp-website contains the sources of the project website at https://w3id.org/rdfp
  • rdfp-jersey-server is an extension of Jersey that eases the development of RESTful services that produce and consume RDF. It hides the RDF Presentation description and RDF Presentation Negotiation parts, and lets the end developer focus on manipulating RDF Graphs as Apache Jena models.

Binaries, sources and documentation for rdfp-jersey-server are available for download at Maven Central. To use it in your Maven project, add the following dependency declaration to your Maven project file ( *.pom file):

<dependency>
    <groupId>com.github.thesmartenergy</groupId>
    <artifactId>rdfp-jersey-server</artifactId>
    <version>${rdfp-jersey.version}</version>
</dependency>

Contact

[email protected]

http://maxime-lefrancois.info/

com.github.thesmartenergy

The Smart Energy

The ITEA2 12004 Smart Energy Aware Systems Project - open source code projects

Versions

Version
1.2.2
1.2
1.1
1.0