# Lesson 10: Using inference

## [](#_function_as_views)[Function as views](../10.1-functions-as-views/index.md)

*   Functions are can be treated like SQL views - they abstract away queries into a different format
    
*   Functions can be used to abstract away query complexity and piece together modular logic into new behaviours
    

## [](#_function_chaining)[Function chaining](../10.2-function-chaining/index.md)

*   Functions can invoke other functions
    
*   Functions can invoke themselves recursively
    

[Function chaining](../10.2-function-chaining/index.md) [11\. Advanced modeling](../../11-advanced-modeling/index.md)

[Edit on GitHub](https://github.com/typedb/typedb-docs/edit/3.x-development/academy/modules/ROOT/pages/10-using-functions/summary.adoc) Edit this page on GitHub.