`dependsOn`-derived dependency graph doesn't include `isProfileOf` targets
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 75/100
Línea de trabajo
Comience en ogc/bblocks/models.py, en BuildingBlockRegister.init, y siga cómo se ensamblan el grafo de dependencias y los metadatos dependsOn de register.json a partir de bblock.json, las referencias de schema/OpenAPI y extensionPoints. Verifique con un perfil isProfileOf-only que el grafo visible para el visor y los metadatos exportados incluyan su destino sin requerir un dependsOn duplicado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
A Building Block that declares only isProfileOf (no dependsOn) renders with no visible
dependency graph in the viewer, even though it is related to another block. Blocks that are
pure profiles of a shared anchor - with no schema $ref to auto-detect, and no reason to
declare a literal dependsOn - currently have no way to show up in the graph without also
duplicating their isProfileOf target into dependsOn.
Root cause
In BuildingBlockRegister.__init__ (ogc/bblocks/models.py), the dependency graph and the
dependsOn metadata exposed in register.json are built only from:
- an explicit
dependsOninbblock.json, bblocks://references auto-detected in the block's schema/OpenAPI document, andextensionPoints.baseBuildingBlock/extensionPoints.extensions.
isProfileOf is never folded in. Since isProfileOf is documented as "profiling is akin to
inheritance", it seems reasonable that a profile should also count as depending on what it
profiles for graph-visibility purposes, the same way an extension point does.
Workaround used in the meantime
In our register, we added an explicit, redundant dependsOn (pointing at the same target as
isProfileOf) to every profile block, purely so the graph renders. This works, but requires
every register author to remember to duplicate the two fields in lockstep, and semantically
overloads dependsOn for something that isn't really a runtime dependency.
Suggested fix
When building the dependency graph / exported dependsOn metadata, also include each block's
isProfileOf target(s) - either by merging them into the same dependsOn list, or by exposing
them as their own edge set that consumers (like the viewer) can render alongside dependsOn.
This would let a profile block be graph-visible from isProfileOf alone, without authors having
to declare a duplicate dependsOn.
Reference: working example of the workaround in
ogcincubator/bblocks-prov-jsonld-alt#5, where five isProfileOf-only profile blocks needed a
duplicate dependsOn added purely to appear in the viewer's graph. A related viewer-side fix for
rendering these relationships as dependents is in ogcincubator/bblocks-viewer#14.
- Lenguaje dominante
- Python
- Estrellas
- 1
- Forks
- 6
- Merge medio
- 23 h 43 min
- PR fusionados (30 d)
- 7
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de opengeospatial/bblocks-postprocess
-
Improve build strategyAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
opengeospatial/bblocks-postprocess#102 · 4 comentarios ·
-
if no bblocks highlighted, assume all are.Posiblemente ocupada @avillar la tomó hace 8 días. Abierto
opengeospatial/bblocks-postprocess#96 · 3 comentarios · 1 asignado ·
-
Annotate output is not reproducible: properties[] order varies between runs on identical sourcesPosiblemente ocupada @avillar la tomó hace 19 días. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 56/100
opengeospatial/bblocks-postprocess#91 · 1 comentario · 1 asignado ·
-
JSON schema library version review.Posiblemente ocupada @avillar la tomó hace 26 días. Abierto
opengeospatial/bblocks-postprocess#89 · 3 comentarios · 1 asignado ·
-
Test failures cannot distinguish advisory SHACL results (sh:Warning / sh:Info) from sh:ViolationAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
Todos los issues de opengeospatial/bblocks-postprocess
Issues similares
-
component:benchmark
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
agentic-os-org/ANOLISA#9177 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
distrochooser/distrochooser#520 ·
Los mantenedores suelen responder en 2 días
-
Status: Needs confirmation Status: Needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
Los mantenedores suelen responder en 1 día
-
[BUG] Published Docker images lack the redis extra: HEADROOM_COMPRESS_SESSION_STORE stops startupPosiblemente ocupada @AlessandroSpallina la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
headroomlabs-ai/headroom#4513 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 65/100
codespell-project/codespell#4060 ·
Los mantenedores suelen responder en 1 día