> ## Documentation Index
> Fetch the complete documentation index at: https://docs.falkordb.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> FalkorDB is a graph database that speaks the Redis protocol. Queries are issued as OpenCypher through the GRAPH.QUERY and GRAPH.RO_QUERY commands, not over Bolt or a SQL connection.
> FalkorDB implements a subset of OpenCypher with proprietary extensions. Do not assume Neo4j-only syntax or procedures are available — check /cypher/cypher-support and /cypher/known-limitations before using a clause.
> FalkorDB is the successor to RedisGraph, but they are separate products. Do not present RedisGraph commands, versions, or limitations as current FalkorDB behavior.
> Use the official clients listed in /getting-started/clients rather than generic Redis or Neo4j drivers, and prefer the language the user is already working in.
> Configuration parameters are set with GRAPH.CONFIG SET or at startup; cite the exact parameter name from /getting-started/configuration rather than inventing one.
> This site covers four products: FalkorDB (core), FalkorDB Cloud, FalkorDB Enterprise, and the GraphRAG SDK. Name which one an answer applies to, since setup and operations differ.

# text.upperCamelCase

> Converts a string to UpperCamelCase (PascalCase) format, capitalizing the first letter of every word.

## Description

Converts a string to UpperCamelCase (also known as PascalCase) format by removing non-alphanumeric characters and capitalizing the first letter of each word including the first.

## Syntax

```cypher theme={null}
flex.text.upperCamelCase(string)
```

## Parameters

| Parameter | Type   | Required | Description                             |
| --------- | ------ | -------- | --------------------------------------- |
| `string`  | string | Yes      | The string to convert to UpperCamelCase |

## Returns

**Type:** string

The input string converted to UpperCamelCase format. Returns `null` if input is `null`.

## Examples

### Example 1: Basic Usage

```cypher theme={null}
RETURN flex.text.upperCamelCase('hello world') AS result
```

**Output:**

```text theme={null}
result
----------
HelloWorld
```

### Example 2: Converting Class Names

```cypher theme={null}
RETURN flex.text.upperCamelCase('user_account') AS result
```

**Output:**

```text theme={null}
result
-----------
UserAccount
```

### Example 3: Normalizing Entity Names

```cypher theme={null}
MATCH (e:Entity)
RETURN e.rawName, flex.text.upperCamelCase(e.rawName) AS className
```

## Notes

* Returns `null` for `null` input
* Removes all non-alphanumeric characters
* First character is always uppercase (unlike camelCase)
* Also known as PascalCase
* Useful for class names, type names, and entity naming conventions

## See Also

* [text.camelCase](/udfs/flex/text/camelCase) - Convert to camelCase (first letter lowercase)
* [text.snakeCase](/udfs/flex/text/snakeCase) - Convert to snake\_case format
* [text.capitalize](/udfs/flex/text/capitalize) - Capitalize first character only

## Frequently Asked Questions

<AccordionGroup>
  <Accordion title="How is upperCamelCase different from camelCase?">
    In `upperCamelCase` (PascalCase) the **first** letter is capitalized (e.g., `HelloWorld`), while `camelCase` keeps it lowercase (e.g., `helloWorld`).
  </Accordion>

  <Accordion title="What separators does it recognize?">
    It recognizes spaces, hyphens, underscores, and transitions between lowercase and uppercase characters as word boundaries.
  </Accordion>
</AccordionGroup>
