DotWebStack Backend - Elasticsearch

An extensible full-stack framework which offers the foundation and building blocks for developing (Linked) Data services, including URI dereferencing, RESTful API’s, and much more.

License

License

Categories

Categories

Search Business Logic Libraries Elasticsearch
GroupId

GroupId

org.dotwebstack.framework
ArtifactId

ArtifactId

dotwebstack-backend-elasticsearch
Last Version

Last Version

0.0.22
Release Date

Release Date

Type

Type

jar
Description

Description

DotWebStack Backend - Elasticsearch
An extensible full-stack framework which offers the foundation and building blocks for developing (Linked) Data services, including URI dereferencing, RESTful API’s, and much more.
Project Organization

Project Organization

DotWebStack

Download dotwebstack-backend-elasticsearch

How to add to project

<!-- https://jarcasting.com/artifacts/org.dotwebstack.framework/dotwebstack-backend-elasticsearch/ -->
<dependency>
    <groupId>org.dotwebstack.framework</groupId>
    <artifactId>dotwebstack-backend-elasticsearch</artifactId>
    <version>0.0.22</version>
</dependency>
// https://jarcasting.com/artifacts/org.dotwebstack.framework/dotwebstack-backend-elasticsearch/
implementation 'org.dotwebstack.framework:dotwebstack-backend-elasticsearch:0.0.22'
// https://jarcasting.com/artifacts/org.dotwebstack.framework/dotwebstack-backend-elasticsearch/
implementation ("org.dotwebstack.framework:dotwebstack-backend-elasticsearch:0.0.22")
'org.dotwebstack.framework:dotwebstack-backend-elasticsearch:jar:0.0.22'
<dependency org="org.dotwebstack.framework" name="dotwebstack-backend-elasticsearch" rev="0.0.22">
  <artifact name="dotwebstack-backend-elasticsearch" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.dotwebstack.framework', module='dotwebstack-backend-elasticsearch', version='0.0.22')
)
libraryDependencies += "org.dotwebstack.framework" % "dotwebstack-backend-elasticsearch" % "0.0.22"
[org.dotwebstack.framework/dotwebstack-backend-elasticsearch "0.0.22"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

DotWebStack Framework

An extensible full-stack framework which offers the foundation and building blocks for developing (Linked) Data services, including URI dereferencing, RESTful API’s, and much more.

Build Status Maven Central Quality Gate Status Coverage

Getting started

To get started with DotWebStack, create a new Spring project and add dependencies to one or more of the service modules, one or more of the backend modules and spring-boot-starter-webflux. In maven this would look something like this:

<dependencies>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-webflux</artifactId>
  </dependency>
  <dependency>
    <groupId>org.dotwebstack.framework</groupId>
    <artifactId>backend-rdf4j</artifactId>
  </dependency>
  <dependency>
    <groupId>org.dotwebstack.framework</groupId>
    <artifactId>service-graphql</artifactId>
  </dependency>
</dependencies>

You then need to add a Spring application with a component scan on the org.dotwebstack.framework package:

@SpringBootApplication
@ComponentScan("org.dotwebstack.framework")
public class ExampleApplication {

  public static void main(String[] args) {
    SpringApplication.run(ExampleApplication.class, args);
  }
}

In the resource folder, there should be a properties file (application.yml) and a config folder. The config folder contains a GraphQL schema file (schema.graphqls) and adapter files for the specific service and backend. The service adapter files contain the mapping rules to get from a request for a specific service to the GraphQL core and back from the GraphQL core to a response for a specific service. The backend adapter files are defined in a folder called model and contain the rules to generate a backend specific query from GraphQL and read a GraphQL result from the query response. See the specific service and backend modules to find out how to configure them.

Links

TODO

  • Global configuration for namespaces
  • Validate SHACL shapes against GraphQL schema
  • Decide whether to use property shape names for GraphQL schema mapping
  • Combine query results from multiple backends
  • Naming consistency: iri vs uri

License

The DotWebStack Framework is published under the MIT License.

org.dotwebstack.framework

DotWebStack

Publishing on the web made easy.

Versions

Version
0.0.22
0.0.21
0.0.20
0.0.19
0.0.18
0.0.17
0.0.16
0.0.15
0.0.14
0.0.13
0.0.12
0.0.11
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6