Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Proposal: expose alternative query interfaces via `pim:storage`

Abierto
#455 10 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado

Línea de trabajo

Empieza leyendo la definición de pim:storage en la especificación de WebID y las discusiones relacionadas en las incidencias 229 y 227 de la especificación. Para darlo por terminado, se requiere un enfoque acordado para exponer interfaces de consulta alternativas, incluido determinar si pim:storage puede ampliarse o si se necesita un predicado nuevo como solid:storage, seguido de la actualización correspondiente de la especificación.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

doc: Protocol status: Waiting for Commenter

Not sure if this is the correct location for this proposal, feel free to move this issue to https://github.com/solid/specification or elsewhere if needed

Motivation

There has been some discussions in the past around exposing query interfaces as alternative to the LDP-based interface, such as SPARQL endpoints, or TPF/QPF interfaces (https://github.com/solid/specification/issues/229, https://github.com/solid/specification/issues/227).
However, up until now, there is still no agreed upon way to expose such alternative interfaces, which makes it difficult to make use of such query interfaces in the Solid ecosystem.
Below, I list a simple and concrete proposal to fill this gap.

Proposed solution

The WebID spec specifies the use of pim:storage as "location(s) of the WebID owner's storage space(s)".
The spec says that this should refer to the root LDP container.
However, if we would lower this requirement, and make it say that it should refer to any kind of interface to access the user's pod, then this predicate could also be used to refer to an alternative interface using this predicate, such as a SPARQL endpoint or QPF interface.

Example

For example, a person deciding to expose a SPARQL endpoint and a QPF interface next to its LDP-based storage, could then do this as follows:

<http://example.org/bob/#me> pim:storage
  <http://example.org/bob/container/>,
  <http://example.org/bob/sparql>,
  <http://example.org/bob/qpf>.

A client app could consider these storages as alternatives to each other, and pick the one that is best suited for the query needs of the client.

Limitations

The only downside of this approach would be backwards-compatibility, where apps would assume that these alternative interfaces are also LDP containers. For this reason, it may be better to introduce a new predicate, such as solid:storage.

Lenguaje dominante
HTML
Estrellas
563
Forks
110
Merge medio
5 d 7 min
PR fusionados (30 d)
3

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de solid/specification

Todos los issues de solid/specification

Issues similares

Más issues de Backend & API Design

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.