wowool-analysis-formatter 2.3.1
Wowool Analysis Formatter
Requires Python: >=3.10

# Customizing the API results format

The analysis formatter app is used to define a custom format for the [results of a document analysis](docs/basics/analysis). This is useful if you only need a subset of the results, or would like to adapt the API results to conform to an existing format.

## Options

#### AnalysisFormatterOptions

```typescript
type AnalysisFormatterKeyword = 
    'uri'
  | 'canonical'
  | 'literal'
  | 'lemma'
  | 'attributes'
  | 'begin_offset'
  | 'end_offset'
  | 'begin_byte_offset'
  | 'end_byte_offset';
type AnalysisFormatterOptions = Record<string, AnalysisFormatterKeyword>;
```

where the record's keys define the properties of the results object, thereby replacing the [default analysis results](docs/basics/analysis), and where the values are any of the supported keywords.

#### AnalysisFormatterKeyword

The following keywords are supported:

| Keyword             | Description                                                           |
|---------------------|-----------------------------------------------------------------------|
| `uri`               | URI of the entity                                                     |
| `canonical`         | Canonical of the entity if any, otherwise the literal representation  |
| `literal`           | Literal representation of the entity                                  |
| `lemma`             | Lemma representation of the entity                                    |
| `attributes`        | Attributes of the entity                                              |
| `begin_offset`      | Begin offset in the document                                          |
| `end_offset`        | End offset in the document                                            |
| `begin_byte_offset` | Begin byte offset in the utf-8 input                                  |
| `end_byte_offset`   | End byte offset in the utf-8 input                                    |

## Examples

<sample data-uuid="analysis_formatter"></sample>


# Customizing the API results format

The analysis formatter app is used to define a custom format for the [results of a document analysis](docs/basics/analysis). This is useful if you only need a subset of the results, or would like to adapt the API results to conform to an existing format.

## Options

#### AnalysisFormatterOptions

```typescript
type AnalysisFormatterKeyword = 
    'uri'
  | 'canonical'
  | 'literal'
  | 'lemma'
  | 'attributes'
  | 'begin_offset'
  | 'end_offset'
  | 'begin_byte_offset'
  | 'end_byte_offset';
type AnalysisFormatterOptions = Record<string, AnalysisFormatterKeyword>;
```

where the record's keys define the properties of the results object, thereby replacing the [default analysis results](docs/basics/analysis), and where the values are any of the supported keywords.

#### AnalysisFormatterKeyword

The following keywords are supported:

| Keyword             | Description                                                           |
|---------------------|-----------------------------------------------------------------------|
| `uri`               | URI of the entity                                                     |
| `canonical`         | Canonical of the entity if any, otherwise the literal representation  |
| `literal`           | Literal representation of the entity                                  |
| `lemma`             | Lemma representation of the entity                                    |
| `attributes`        | Attributes of the entity                                              |
| `begin_offset`      | Begin offset in the document                                          |
| `end_offset`        | End offset in the document                                            |
| `begin_byte_offset` | Begin byte offset in the utf-8 input                                  |
| `end_byte_offset`   | End byte offset in the utf-8 input                                    |

# API

## Examples

### Formatting results

This code sets up and runs a text analysis pipeline that detects entities and formats the analysis results according to specified options.


```python
from wowool.sdk import Pipeline

text = "John Smith works for Wowool."
pipeline = Pipeline(
    [
        "english",
        "entity",
        {
            "name": "analysis-formatter.app",
            "options": {"uri": "uri", "begin_offset": "bo", "lemma": "l"},
        },
    ]
)
document = pipeline(text)

```



## License

In both cases you will need to acquirer a license file at https://www.wowool.com

### Non-Commercial

    This library is licensed under the GNU AGPLv3 for non-commercial use.  
    For commercial use, a separate license must be purchased.  

### Commercial license Terms

    1. Grants the right to use this library in proprietary software.  
    2. Requires a valid license key  
    3. Redistribution in SaaS requires a commercial license.