close
Skip to content

Improved abstract/base cubes for YAML data modeling #10662

@VoxBorealis

Description

@VoxBorealis

Is your feature request related to a problem? Please describe.

Hey, I've been using Cube for about a month now, so I might be missing something, feel free to correct me!

I have a classic inheritance/extend scenario with multiple entities sharing some properties. I'm using the YAML format and I feel a bit limited in how to implement a solid abstraction cube. Currently I have created a base_entity cube with all the shared properties that is then extended in multiple X_entity cubes.

This works, technically, but there's a few minor limitations. Looking at the docs:

You can also omit the cube name while defining a cube in JavaScript. This way, Cube doesn’t register this cube globally; instead it returns a reference which you can use while combining cubes.

Something like this would be very useful for YAML as well. For my AI-agent use-case this is important because currently the response from {base_path}/v1/meta will also contain the base cube which will clutter the LLM's context with unnecessary data.

Sidenote - the docs claim that:

Information about cubes and views with public: false will not be returned.

Not sure if there's something wrong with my config (maybe DEV_MODE affects this), but this doesn't seem to apply

Describe the solution you'd like

Add an abstract parameter to cubes, which would work similarly as omitting the name parameter for JS cubes. Secondarily, this could allow the omitting of sql/sql_table param for the abstract cubes

Thank you!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions