> For the complete documentation index, see [llms.txt](https://dbpedia.gitbook.io/databus/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dbpedia.gitbook.io/databus/usage/web-interface/auto-completion.md).

# Auto-Completion

When trying to publish data on the Databus, the HTTP API accepts not only fully complete JSON-LD DataIds as input. Some properties of the JSON-LD input are allowed to be omitted as they can be inferred from others.

## Properties

The following table shows a list of inferrable properties that can optionally be omitted in the input.

### Version

| Property         | Value inferred from                   |
| ---------------- | ------------------------------------- |
| dataid:publisher | @id of databus:Version                |
| databus:group    | @id of databus:Version                |
| databus:artifact | @id of databus:Version                |
| dct:hasVersion   | @id of databus:Version                |
| dct:abstract     | First line of dct:description         |
| dct:issued       | *current time*                        |
| dct:modified     | *current time (always set by server)* |

### Part

| Property                                                          | Value inferred from                                                                                                                                                |
| ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| @id                                                               | @id of databus:Version, databus:formatExtension, databus:compression and content variants (i.e. properties with prefix *<https://dataid.dbpedia.org/databus-cv#>*) |
| databus:formatExtension                                           | content-disposition header of file specified with dcat:downloadURL (if present). *Alternatively:* String value of dcat:downloadURL                                 |
| databus:compression                                               | content-disposition header of file specified with dcat:downloadURL (if present). *Alternatively:* String value of dcat:downloadURL                                 |
| dataid:shasum                                                     | sha256sum of the file specified with dcat:downloadURL                                                                                                              |
| dataid:byteSize                                                   | size of the file specified with dcat:downloadURL                                                                                                                   |
| dct:hasVersion                                                    | dct:hasVersion of associated databus:Version                                                                                                                       |
| properties with prefix *<https://dataid.dbpedia.org/databus-cv#>* | Only set if the property is used in any other databus:Part of the databus:Version. Value is set to empty string.                                                   |

## Additional Graphs

The following table lists the additional graphs that can be generated by the Databus automatically:

| Type                                                          | Inferred from                         |
| ------------------------------------------------------------- | ------------------------------------- |
| databus:Artifact                                              | databus:artifact *of databus:Version* |
| databus:Group                                                 | databus:group *of databus:Group*.     |
| rdf:Property *with rdfs:subPropertyOf databus:contentVariant* | *all properties starting with dcv:*   |

## Example

### API Input

```json
{
  "@context": "https://downloads.dbpedia.org/databus/context.jsonld",
  "@graph": [
    {
      "@type": [
        "Version",
        "Dataset"
      ],
      "@id": "https://databus.example.org/janfo/examples/example_one/2023-03-08",
      "title": "My Title",
      "description": "This is my description",
      "license": "http://dalicc.net/licenselibrary/AdaptivePublicLicense10",
      "distribution": [
        {
          "@type": "Part",
          "downloadURL": "https://holycrab13.github.io/webid.ttl"
        },
        {
          "@type": "Part",
          "downloadURL": "https://holycrab13.github.io/webid.ttl",
          "dcv:tag": "asdf"
        },
        {
          "@type": "Part",
          "downloadURL": "https://holycrab13.github.io/webid.ttl",
          "dcv:tag": "hallo"
        }
      ]
    }
  ]
}
```

### Auto-Completed Input

```json
{
  "@context": "https://downloads.dbpedia.org/databus/context.jsonld",
  "@graph": [
    {
      "@id": "https://databus.example.org/janfo/examples/example_one/2023-03-08",
      "@type": [
        "databus:Version",
        "Dataset"
      ],
      "artifact": "https://databus.example.org/janfo/examples/example_one",
      "group": "https://databus.example.org/janfo/examples",
      "abstract": "This is my description",
      "description": "This is my description",
      "hasVersion": "2023-03-08",
      "issued": "2023-03-15T14:08:44.413Z",
      "license": "http://dalicc.net/licenselibrary/AdaptivePublicLicense10",
      "modified": "2023-03-15T14:08:44.413Z",
      "publisher": "https://databus.example.org/janfo#this",
      "title": "My Title",
      "distribution": [
        "https://databus.example.org/janfo/examples/example_one/2023-03-08#example_one_tag=hallo",
        "https://databus.example.org/janfo/examples/example_one/2023-03-08#example_one",
        "https://databus.example.org/janfo/examples/example_one/2023-03-08#example_one_tag=asdf"
      ]
    },
    {
      "@id": "https://databus.example.org/janfo/examples/example_one/2023-03-08#example_one_tag=hallo",
      "@type": "Part",
      "compression": "none",
      "file": "https://databus.example.org/janfo/examples/example_one/2023-03-08/example_one_tag=hallo",
      "formatExtension": "ttl",
      "sha256sum": "d61a05ca4810367f361f17500304a168aab27a3119c93a18c00bce1775dfd6b1",
      "dcv:tag": "hallo",
      "hasVersion": "2023-03-08",
      "issued": "2023-03-15T14:08:44.413Z",
      "modified": "2023-03-15T14:08:44.413Z",
      "byteSize": 2730,
      "downloadURL": "https://holycrab13.github.io/webid.ttl"
    },
    {
      "@id": "https://databus.example.org/janfo/examples/example_one/2023-03-08#example_one",
      "@type": "Part",
      "compression": "none",
      "file": "https://databus.example.org/janfo/examples/example_one/2023-03-08/example_one",
      "formatExtension": "ttl",
      "sha256sum": "d61a05ca4810367f361f17500304a168aab27a3119c93a18c00bce1775dfd6b1",
      "dcv:tag": "",
      "hasVersion": "2023-03-08",
      "issued": "2023-03-15T14:08:44.413Z",
      "modified": "2023-03-15T14:08:44.413Z",
      "byteSize": 2730,
      "downloadURL": "https://holycrab13.github.io/webid.ttl"
    },
    {
      "@id": "https://databus.example.org/janfo/examples/example_one/2023-03-08#example_one_tag=asdf",
      "@type": "Part",
      "compression": "none",
      "file": "https://databus.example.org/janfo/examples/example_one/2023-03-08/example_one_tag=asdf",
      "formatExtension": "ttl",
      "sha256sum": "d61a05ca4810367f361f17500304a168aab27a3119c93a18c00bce1775dfd6b1",
      "dcv:tag": "asdf",
      "hasVersion": "2023-03-08",
      "issued": "2023-03-15T14:08:44.413Z",
      "modified": "2023-03-15T14:08:44.413Z",
      "byteSize": 2730,
      "downloadURL": "https://holycrab13.github.io/webid.ttl"
    },
    {
      "@id": "https://databus.example.org/janfo/examples/example_one",
      "@type": "Artifact"
    },
    {
      "@id": "https://databus.example.org/janfo/examples",
      "@type": "Group"
    },
    {
      "@id": "dcv:tag",
      "@type": "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property",
      "subPropertyOf": "databus:contentVariant"
    }
  ]
}
```
