LDP Service#

The Linked Data Platform (LDP) Service implements the World Wide Web Consortium (W3C) Linked Data Platform specification. This specification defines a set of rules for HTTP operations on web resources and is used within Solid to provide access and management of the data in Pods. As such, navigating, creating, deleting, and editing resources within a Pod is directly supported via the standard LDP interfaces.

Configure LDP Service#

The parameters included in the bundled configuration for this service can be updated by editing the Kubernetes YAML files:

  • $RELEASE_DIR/deployment/kubernetes/aws/03_config/ess-config.yaml

  • $RELEASE_DIR/deployment/kubernetes/aws/05_deployments/ldp-deployment.yaml

The properties that are expected to be edited per deployment are:

Key

Default

LOGGING_SERVICE

(Not Set)

AB_JOLOKIA_PORT

AB_JMX_EXPORTER_PORT

QUARKUS_DATASOURCE_JDBC_URL

jdbc:postgresql://localhost/ess

QUARKUS_DATASOURCE_USERNAME

(blank)

QUARKUS_DATASOURCE_PASSWORD

(blank)

QUARKUS_DATASOURCE_JDBC_MAX_SIZE

(Not Set)

TRELLIS_HTTP_BASE_URL

(Not Set)

MP_MESSAGING_OUTGOING_INRUPT_REACTIVE_CHANNEL_BOOTSTRAP_SERVERS

localhost:9092

INRUPT_REGISTER_PROFILE_OIDC_ISSUER

http://localhost:10000

INRUPT_AUTHN_ADMIN_USERS

http://localhost:10100/registrar-agent.ttl

INRUPT_REGISTER_REGISTRAR_AGENT

http://localhost:10100/registrar-agent.ttl

Additional environment variables that may be of interest:

Env Var

Default Value

Description

TRELLIS_FILE_BINARY_PATH

[path to runtime]/data/binaries

Location on disk to store binary files.

Configure Logging and Auditing#

Logging, including auditing, is configured through Quarkus. To configure logging for LDP, see Logging.

Trusted Application Allow List#

By default, all applications are trusted by the server. To grant trust only to specific applications, set the following property:

Env Var

Default Value

Description

INRUPT_LDP_TRUSTED_APP_URIS

(Not Set)

Comma-delimited list of applications to trust. For the URIs, specify the application’s Client WebID (i.e., the client_webid) claim in the access token.

See also

Pod Management#

ESS’s LDP Service implements the Linked Data Platform specification. As such, navigating, creating, deleting, and editing resources within a Pod is directly supported via the standard LDP interfaces.

When creating a Pod, ESS creates the following default structure under the Pod’s root:

<Pod's root>
│
├── policies/
│
├── profile/
│      └── card
├── inbox/
│
├── private/
│
├── public/
│
└── settings/
      └── publicTypeIndex.ttl
      └── privateTypeIndex.ttl
      └── prefs.ttl

ESS uses Access Control Policies to manage authorization to resources stored in Solid Pods. By default, the Access Policies for profile and public grant read access to anyone.

See also API documentation.

Pod URL Customization#

To customize the Pod URL and WebID mapping, see Identity Broker/WebID Customization.

Data Validation#

Data validation for Linked Data is provided by Shapes that define what properties must and can appear for a data entity. That is, shapes are analogous to data schemas.

You can associate a shape with a resource such that only data that conform to the shape can be stored in that resource. Shapes can also provide guidance when writing applications that act upon the data stored in the Pods.

ESS supports Shape Expressions (ShEx) shapes.

For additional information on Shapes, see: