Skip to main content

⚙️ description_sql

Definition

Similar to name_sql, description_sql specifies how descriptions for entities are generated. You can use it to provide a detailed and structured description of an entity, either as a simple one-liner or a more advanced markdown-based format.

Examples

Example 1: Simple One-Liner

This example shows a basic description_sql for a Product, using just the name and category fields:

kb {
class Product {
name.en: "Product"
from_table: product
// e.g. P1234
sql: "${product.id}"
// e.g. [P1234] Apple iPhone 13
name_sql.en: "'[' || ${product.id} || '] ' || ${product.name}"
// Simple one-liner description
description_sql.en: "${product.name} || ' is in the ' || ${product.category} || ' category.'"
...
}
}

The entities will look like this:

kb.Product {
entity P1234_Apple_iPhone_13 {
name.en: "[P1234] Apple iPhone 13"

description.en: "Apple iPhone 13 is in the Electronics category."

id: "P1234"
}
...
}

Example 2: Advanced Markdown Description

This example generates a more detailed description using multiple attributes like category, subcategory, and stock_level, formatted as markdown for better readability:

kb {
class Product {
name.en: "Product"
from_table: product
// e.g. P1234
sql: "${product.id}"
// e.g. [P1234] Apple iPhone 13
name_sql.en: "'[' || ${product.id} || '] ' || ${product.name}"
// Advanced markdown description
description_sql.en: """
'**Product**: ' || ${product.name} || '

**Category**: ' || ${product.category} || '

**Subcategory**: ' || ${product.subcategory} || '

**Stock Level**: ' || ${product.stock_level} || ' units in stock'
"""
...
}
}

The entities will look like this:

kb.Product {
entity P1234_Apple_iPhone_13 {
name.en: "[P1234] Apple iPhone 13"

description.en: """
**Product**: Apple iPhone 13

**Category**: Electronics

**Subcategory**: Smartphones

**Stock Level**: 24 units in stock
"""

id: "P1234"
}
...
}

In the second example, markdown formatting is used to make the description more structured and visually appealing, providing clear information on key product attributes.