# Version

*auto-generated from model/*.php via [pre-commit hook](https://github.com/dbpedia/databus/blob/master/model/README.md)\*

## Version

A Databus Version is one specific version of a Databus artifact (artifacts = version-independent, abstract datasets).

Please note that the fuzzy word `dataset` is disambiguated on the Databus, as it could mean:

1. artifact (see [here](https://dbpedia.gitbook.io/databus/model/model/artifact)): the abstract concept of a dataset (e.g. the DBpedia Label dataset, <https://databus.dbpedia.org/dbpedia/generic/labels/>).
2. **version (this page, see below)**: a specific version of a dataset (e.g. DBpedia Label dataset of Sep 1st, 2022, <https://databus.dbpedia.org/dbpedia/generic/labels/2022.09.01>).
3. distribution (see [here](https://dbpedia.gitbook.io/databus/model/model/distribution)): the bag of files of a specific version (e.g. the download location: <https://downloads.dbpedia.org/repo/dbpedia/generic/labels/2022.09.01/>)

Example (JSON-LD):

```javascript
{	
	"@id": "https://databus.dbpedia.org/janni/onto_dep_projectx/dbpedia-ontology/2021-12-06",
	"@type": "databus:Version",
}
```

Spec (OWL, SHACL, JSON-LD Context)

```turtle
databus:Version  a owl:Class ;
    rdfs:label "Version"@en ;
    rdfs:comment "Dataset Version"@en ; 
    rdfs:subClassOf dcat:Dataset , dataid:Dataset ;
    rdfs:isDefinedBy <https://dataid.dbpedia.org/databus#> .

```

```turtle
<#version-exists>
	a sh:NodeShape ;
	sh:targetNode databus:Version ;
	sh:property [
	  sh:path [ sh:inversePath rdf:type ] ;
	  sh:minCount 1 ;
	  sh:maxCount 1 ;
	  sh:message "Exactly one subject with an rdf:type of databus:Version must occur."@en ;
	] ;
	sh:property [
		sh:path [ sh:inversePath rdf:type ] ;
		  sh:nodekind sh:IRI ;
		sh:pattern "^[\\w+.-]+:\\/\\/[\\w+.:-]+\\/[\\w+.-]{4,}(?:\\/[\\w+.-]{3,}){3,3}$" ;
		sh:message "IRI for databus:Version must be a 4-segment URI and match ^[\\w+.-]+:\\/\\/[\\w+.:-]+\\/[\\w+.-]{4,}(?:\\/[\\w+.-]{3,}){3,3}$"@en ;
  ] . 
```

```javascript
"Version": 	"databus:Version",
"Dataset": "dcat:Dataset" 
```

## 1. General Metadata

### title

A name given to the resource.

Example (JSON-LD):

```javascript
{	
	"@id": "https://databus.dbpedia.org/janni/onto_dep_projectx/dbpedia-ontology/2021-12-06",
	"title": "DBpedia Ontology",
}
```

Spec (OWL, SHACL, JSON-LD Context)

```turtle
dct:title
	rdfs:label "Title"@en ;
	rdfs:comment "A name given to the resource."@en ;
	rdfs:isDefinedBy <http://purl.org/dc/terms/> ;
	rdfs:range rdfs:Literal ;
	rdfs:subPropertyOf <http://purl.org/dc/elements/1.1/title> .
```

```turtle
<#title-version>
	a sh:NodeShape ;
	sh:targetClass databus:Version ;
	sh:property [
		sh:path dct:title ;
		sh:severity sh:Violation ;
		sh:message "Required property dct:title MUST occur exactly once without language tag."@en ;
        sh:qualifiedValueShape [ sh:datatype xsd:string ] ;
		sh:qualifiedMinCount 1 ;
		sh:qualifiedMaxCount 1 ;		
    ] ;
        sh:property [
		sh:path dct:title ;
		sh:severity sh:Violation ;
		sh:message "Besides the required occurance of dct:title without language tag, dct:title can be used with language tag, but each language only once."@en ;
		sh:uniqueLang true ;
	] . 
```

### abstract

TODO autogenerated from the first 200 chars of `description`.

Example (JSON-LD):

```javascript
{	
	"@id": "https://databus.dbpedia.org/janni/onto_dep_projectx/dbpedia-ontology/2021-12-06",
	"abstract": "Registered a version of the DBpedia Ontology into my account",
}
```

Spec (OWL, SHACL, JSON-LD Context)

```turtle
dct:abstract
	rdfs:label "Abstract"@en ;
	rdfs:comment "A summary of the resource."@en ;
	rdfs:isDefinedBy <http://purl.org/dc/terms/> ;
	rdfs:subPropertyOf <http://purl.org/dc/elements/1.1/description>, dct:description .
```

```turtle
<#abstract-version>
	a sh:NodeShape ;
    sh:targetClass databus:Version ;
    sh:property [
	    sh:path dct:abstract ;
	    sh:severity sh:Violation ;
	    sh:message "Required property dct:abstract MUST occur at least once without language tag."@en ;
	    sh:qualifiedValueShape [ sh:datatype xsd:string ] ;
		sh:qualifiedMinCount 1 ;
		sh:qualifiedMaxCount 1 ;	
	];
	sh:property [
		sh:path dct:abstract ;
	    sh:severity sh:Violation ;
	    sh:message "Besides the required occurance of dct:abstract without language tag, each occurance of dct:abstract must have less than 300 characters and each language must occure only once. "@en ;
	    sh:uniqueLang true;
	    sh:maxLength 300 ;
	] . 
```

### description

Markdown allowed. The first 200 chars will be used as an abstract.

Example (JSON-LD):

```javascript
{	
	"@id": "https://databus.dbpedia.org/janni/onto_dep_projectx/dbpedia-ontology/2021-12-06",
	"description": "Registered a version of the DBpedia Ontology into my account. Using markdown:\n  1. This is the version used in [project x](http://example.org) as a stable snapshot dependency\n  2. License was checked -> CC-BY\n",
}
```

Spec (OWL, SHACL, JSON-LD Context)

```turtle
dct:description
	dct:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en ;
	rdfs:comment "An account of the resource."@en ;
	rdfs:isDefinedBy <http://purl.org/dc/terms/> ;
	rdfs:label "Description"@en ;
	rdfs:subPropertyOf <http://purl.org/dc/elements/1.1/description> .
```

```turtle
<#description-version>
	a sh:NodeShape ;
    sh:targetClass databus:Version ;
    sh:property [
		sh:path dct:description ;
		sh:severity sh:Violation ;
		sh:message "Required property dct:description MUST occur exactly once without language tag."@en ;
        sh:qualifiedValueShape [ sh:datatype xsd:string ] ;
		sh:qualifiedMinCount 1 ;
		sh:qualifiedMaxCount 1 ;		
    ] ;
        sh:property [
		sh:path dct:description ;
		sh:severity sh:Violation ;
		sh:message "Besides the required occurance of dct:description without language tag, dct:title can be used with language tag, but each language only once."@en ;
		sh:uniqueLang true ;
	] . 
```

### publisher

The agent, person or organisation responsible for publishing this Databus version's metadata (**not the files itself**)

Example (JSON-LD):

```javascript
{	
	"@id": "https://databus.dbpedia.org/janni/onto_dep_projectx/dbpedia-ontology/2021-12-06",
	"publisher": TODO
}
```

Spec (OWL, SHACL, JSON-LD Context)

```turtle
dct:publisher
	dcam:rangeIncludes dct:Agent ;
	rdfs:comment "An entity responsible for making the resource available."@en ;
	rdfs:isDefinedBy <http://purl.org/dc/terms/> ;
	rdfs:label "Publisher"@en ;
	rdfs:subPropertyOf <http://purl.org/dc/elements/1.1/publisher> .
```

```turtle
<#has-publisher>
	a sh:PropertyShape ;
  sh:targetClass databus:Version ;
	sh:severity sh:Violation ;
	sh:message "Required property dct:publisher MUST occur exactly once and have URI/IRI as value"@en ;
	sh:path dct:publisher;
	sh:minCount 1 ;
	sh:maxCount 1 ;
	sh:nodeKind sh:IRI .
```

```javascript
"publisher": {
      "@id": "dct:publisher",
      "@type": "@id"
    }
```

## 2. Legal, Provenance & Attribution

Three main features are included in the model:

* Automation of licensing. To describe datasets a license URIs is required. In most cases these URIs provide a human-only HTML description. License URIs from our affiliate project [DALICC](https://dalicc.net) are machine-actionable and machines can compare licenses and check for compatibility and obligations in an automated manner.
* Provenance chains. Once datasets are registered with any Databus, provenance relations can be added to the graph and link to the source data the current version `was Derived From`. Combined with licenses, this enables to track back input sources and dependencies and transitively accumulate all licensing information.
* Attribution. Most dataset metadata originally comes from unstructured, non-machine readable places such as HTML Websites. This attribution information needs to be captured initially on the Databus, whenever data metadata is first lifted into the Databus model.

**Note:** Entered metadata is signed with the users private key or on behalt of the user by the Databus to avoid tempering with this information (see `proof`). This is an extra measure to secure against falsification of the legal implications of the metadata.

### license

* Usage of DALICC License URIs is highly recommended ([library](https://www.dalicc.net/license-library/)).
* License is set at the databus:Version node, but is always valid for all distributions, which is also reflected by signing the tractate.
* context.jsonld contains `"@context":{"@base": null },` to prevent creating local IRIs.

Example (JSON-LD):

```javascript
{	
	"@id": "https://databus.dbpedia.org/janni/onto_dep_projectx/dbpedia-ontology/2021-12-06",
	"license": "http://creativecommons.org/licenses/by/4.0/",
}
```

Spec (OWL, SHACL, JSON-LD Context)

```turtle
dct:license
	rdfs:label "License"@en ;
	rdfs:comment "A legal document giving official permission to do something with the resource."@en ;
	dct:description "Recommended practice is to identify the license document with a URI. If this is not possible or feasible, a literal value that identifies the license may be provided."@en ;
	dcam:rangeIncludes dct:LicenseDocument ;
	rdfs:isDefinedBy <http://purl.org/dc/terms/> ;
	rdfs:subPropertyOf <http://purl.org/dc/elements/1.1/rights>, dct:rights .
```

```turtle
<#has-license>
	a sh:PropertyShape ;
	sh:targetClass databus:Version ;
	sh:severity sh:Violation ;
	sh:message "Required property dct:license MUST occur exactly once and have URI/IRI as value"@en ;
	sh:path dct:license;
	sh:minCount 1 ;
	sh:maxCount 1 ;
	sh:nodeKind sh:IRI .
```

```javascript
"license": {
      "@context":{"@base": null },
      "@id": "dct:license",
      "@type": "@id"
    }
```

### wasDerivedFrom

Imports the Provenance Ontology. Linking should be done between Dataset versions.

Example (JSON-LD):

```javascript
{	
	"@id": "https://databus.dbpedia.org/janni/onto_dep_projectx/dbpedia-ontology/2021-12-06",
	"wasDerivedFrom": "https://databus.dbpedia.org/dbpedia/generic/labels/2022.09.01",
}
```

Spec (OWL, SHACL, JSON-LD Context)

```turtle
prov:wasDerivedFrom a owl:ObjectProperty ;
    rdfs:isDefinedBy <http://www.w3.org/ns/prov-o#> ;
    rdfs:label "wasDerivedFrom" ;
    prov:definition "A derivation is a transformation of an entity into another, an update of an entity resulting in a new one, or the construction of a new entity based on a pre-existing entity."@en ;
    rdfs:domain prov:Entity ;
    rdfs:range prov:Entity .

```

```turtle
<#was-derived-from>
	a sh:PropertyShape ;
	sh:targetClass databus:Version ;
	sh:severity sh:Violation ;
	sh:message "Value of prov:wasDerivedFrom from must be a valid IRI."@en ;
	sh:path prov:wasDerivedFrom ;
	sh:nodeKind sh:IRI .
```

```javascript
"wasDerivedFrom":	{
	"@id": "prov:wasDerivedFrom", 
	"@type": "@id"
}
```

### attribution

Capturing information about attribution serves these purposes:

* enable citations in academic context
* fulfill license obligations such as CC-BY. Note that most open licenses only grant you the specified freedoms, if you properly fulfill the obligations such as attribution.

The field attribution is:

* optional (can be omitted)
* multi-valued (can have more than one entry, e.g. one for attributing the paper, one for attributing the publishing organisation)
* multi-type (can have variety of different formats, which are listed below)

#### Publication Link

??

#### Bibtex

```
{}
```

#### Markdown

[title](https://github.com/dbpedia/databus/blob/master/docs/uri/README.md), [attribution](https://github.com/dbpedia/databus/blob/master/docs/url/README.md), [license](https://github.com/dbpedia/databus/blob/master/docs/license-url/README.md)

#### © Copyright

© Intergovernmental Panel on Climate Change 2014

Example (JSON-LD):

```javascript
{	
	"@id": "https://databus.dbpedia.org/janni/onto_dep_projectx/dbpedia-ontology/2021-12-06",
	"attribution": "TODO",
}
```

Spec (OWL, SHACL, JSON-LD Context)

```turtle
databus:attribution a owl:DataTypeProperty; 
	rdfs:label "attribution"@en ;
	rdfs:comment "TODO"@en ;
	rdfs:domain databus:Artifact, databus:Version, databus:Group ;
	rdfs:range xsd:string ;
	rdfs:isDefinedBy <https://dataid.dbpedia.org/databus#> . 
```

```turtle
```

```javascript
"attribution":	{"@id": "databus:attribution"}
```

## 3. Structural Metadata

`group`, `artifact`, `version`, `hasVersion` are the main properties used to structure all entries on the Databus for querying and retrieval. The most basic query here is to retrieve the latest version for each artifact in some group or to check, whether there is a new version available for one artifact.

### group

Example (JSON-LD):

```javascript
{	
	"@id": "https://databus.dbpedia.org/janni/onto_dep_projectx/dbpedia-ontology/2021-12-06",
	"group": "https://databus.dbpedia.org/janni/onto_dep_projectx",
}
```

Spec (OWL, SHACL, JSON-LD Context)

```turtle
databus:group rdf:type owl:ObjectProperty ;
    rdfs:label "group"@en ;
    rdfs:comment "Refers to a group or collection of resources."@en ;
    rdfs:domain databus:Version ;
    rdfs:range databus:Group ;
    rdfs:isDefinedBy <https://dataid.dbpedia.org/databus#> .

```

```turtle
<#has-group>
	a sh:PropertyShape ;
	sh:targetClass databus:Version ;
	sh:severity sh:Violation ;
	sh:message "Required property databus:group MUST occur exactly once AND be of type IRI AND must match /USER/GROUP , |USER|>3"@en ;
	sh:path databus:group ;
	sh:minCount 1 ;
	sh:maxCount 1 ;
	sh:nodeKind sh:IRI ;
  sh:pattern "/[a-zA-Z0-9\\-_]{4,}/[a-zA-Z0-9\\-_\\.]{1,}$" .

<#is-group-uri-correct>
	a sh:NodeShape;
	sh:targetClass databus:Version ;
	sh:sparql [
		sh:message "Version URI must contain the group URI of the associated group." ;
		sh:prefixes databus: ;
    sh:select """
			SELECT $this ?group
			WHERE {
				$this <https://dataid.dbpedia.org/databus#group> ?group .
        FILTER(!strstarts(str($this), str(?group)))
			}
			""" ;
	] .
```

### artifact

autogenerated... Example (JSON-LD):

```javascript
{	
	"@id": "https://databus.dbpedia.org/janni/onto_dep_projectx/dbpedia-ontology/2021-12-06",
	"artifact": "https://databus.dbpedia.org/janni/onto_dep_projectx/dbpedia-ontology",
}
```

Spec (OWL, SHACL, JSON-LD Context)

```turtle
databus:artifact a rdf:ObjectProperty ;
    rdfs:label "artifact"@en ;
    rdfs:comment "Specifies an artifact associated with a dataset version."@en ;
    rdfs:domain databus:Version ;
    rdfs:range databus:Artifact ;
    rdfs:isDefinedBy <https://dataid.dbpedia.org/databus#> .
```

```turtle
<#has-artifact>
	a sh:PropertyShape ;
	sh:targetClass databus:Version ;
	sh:severity sh:Violation ;
	sh:message "Required property databus:artifact MUST occur exactly once AND be of type IRI AND must match /USER/GROUP/ARTIFACT , |USER|>3"@en ;
	sh:path databus:artifact ;
	sh:minCount 1 ;
	sh:maxCount 1 ;
	sh:nodeKind sh:IRI  ;
  sh:pattern "/[a-zA-Z0-9\\-_]{4,}/[a-zA-Z0-9\\-_\\.]{1,}/[a-zA-Z0-9\\-_\\.]{1,}$" .

<#is-artifact-uri-correct>
	a sh:NodeShape;
	sh:targetClass databus:Version ;
	sh:sparql [
		sh:message "Version URI must contain the artifact URI of the associated artifact." ;
		sh:prefixes databus: ;
    sh:select """
			SELECT $this ?artifact
			WHERE {
				$this <https://dataid.dbpedia.org/databus#artifact> ?artifact .
        FILTER(!strstarts(str($this), str(?artifact)))
			}
			""" ;
	] .
```

### hasVersion

Note: see section versioning above.

Example (JSON-LD):

```javascript
{	
	"@id": "https://databus.dbpedia.org/janni/onto_dep_projectx/dbpedia-ontology/2021-12-06",
	"hasVersion": "2021-12-06",
}
```

Spec (OWL, SHACL, JSON-LD Context)

```turtle
dct:hasVersion
	dct:description "Changes in version imply substantive changes in content rather than differences in format. This property is intended to be used with non-literal values. This property is an inverse property of Is Version Of."@en ;
	rdfs:comment "A related resource that is a version, edition, or adaptation of the described resource."@en ;
	rdfs:isDefinedBy <http://purl.org/dc/terms/> ;
	rdfs:label "Has Version"@en ;
	rdfs:subPropertyOf <http://purl.org/dc/elements/1.1/relation>, dct:relation .
```

```turtle
<#has-hasVersion-dataset>
	a sh:PropertyShape ;
	sh:targetClass databus:Version ;
	sh:severity sh:Violation ;
	sh:message "Required property dct:hasVersion MUST occur exactly once AND be of type Literal"@en ;
	sh:path dct:hasVersion ;
	sh:minCount 1 ;
	sh:maxCount 1 ;
	sh:nodeKind sh:Literal .
```

```javascript
"hasVersion": 	{"@id": "dct:hasVersion"}
```

### distribution

Example (JSON-LD):

```javascript
{	
	"@id": "https://databus.dbpedia.org/janni/onto_dep_projectx/dbpedia-ontology/2021-12-06",
	"distribution": [{
          		"@id": "https://databus.dbpedia.org/janni/onto_dep_projectx/dbpedia-ontology/2021-12-06#ontology--DEV_type=parsed_sorted.nt",
          		"@type": "databus:Part",
          		"file": "https://databus.dbpedia.org/janni/onto_dep_projectx/dbpedia-ontology/2021-12-06/ontology--DEV_type=parsed_sorted.nt",
          		"format": "nt",
          		"compression": "none",
          		"downloadURL": "https://akswnc7.informatik.uni-leipzig.de/dstreitmatter/archivo/dbpedia.org/ontology--DEV/2021.07.09-070001/ontology--DEV_type=parsed_sorted.nt",
          		"byteSize": "4439722",
          		"sha256sum": "b3aa40e4a832e69ebb97680421fbeff968305931dafdb069a8317ac120af0380",
          		"hasVersion": "2021-12-06",
          		"dcv:type": "parsed_sorted"
              }]
}
```

Spec (OWL, SHACL, JSON-LD Context)

```turtle
dcat:distribution
  a owl:ObjectProperty ;
  rdfs:label "distribution"@en ;
  rdfs:comment "An available distribution of the dataset."@en ;
  rdfs:isDefinedBy <http://www.w3.org/TR/vocab-dcat/> ;
  rdfs:domain dcat:Dataset ;
  rdfs:range dcat:Distribution ;
  rdfs:subPropertyOf dct:relation ;
  skos:definition "An available distribution of the dataset."@en .
```

```turtle
<#has-distribution>
	a sh:PropertyShape ;
	sh:targetClass databus:Version ;
	sh:severity sh:Violation ;
	sh:message "Required property dcat:distribution MUST occur at least once AND have URI/IRI as value"@en ;
	sh:path dcat:distribution;
	sh:minCount 1 ;
	sh:nodeKind sh:IRI .
```

```javascript
"distribution": {
      "@type": "@id",
      "@id": "dcat:distribution"
}
```

## 4. Other Metadata

### issued

Date of formal issuance of the resource using `xsd:dateTime`.

Example (JSON-LD):

```javascript
{	
	"@id": "https://databus.dbpedia.org/janni/onto_dep_projectx/dbpedia-ontology/2021-12-06",
	"issued": "2021-12-06T11:34:17Z",
}
```

Spec (OWL, SHACL, JSON-LD Context)

```turtle
dct:issued
	rdfs:label "Date Issued"@en ;
	rdfs:comment "Date of formal issuance of the resource."@en ;
	dct:description "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty."@en ;
	dct:issued "2000-07-11"^^<http://www.w3.org/2001/XMLSchema#date> ;
	rdfs:isDefinedBy <http://purl.org/dc/terms/> ;
	rdfs:range rdfs:Literal ;
	rdfs:subPropertyOf <http://purl.org/dc/elements/1.1/date>, dct:date .
```

```turtle
<#has-issued>
	a sh:PropertyShape ;
	sh:targetClass databus:Version ;
	sh:severity sh:Violation ;
	sh:message "Required property dct:issued MUST occur exactly once AND have xsd:dateTime as value"@en ;
	sh:path dct:issued;
	sh:minCount 1 ;
	sh:maxCount 1 ;
	sh:datatype xsd:dateTime .
```

```javascript
"issued": {
      "@id": "dct:issued",
      "@type": "xsd:dateTime"
    }
```

### modified

Note: dct:modified is *always* set by the Databus on post.

Example (JSON-LD):

```javascript
{	
	"@id": "https://databus.dbpedia.org/janni/onto_dep_projectx/dbpedia-ontology/2021-12-06",
	"modified": "%NOW%",
}
```

Spec (OWL, SHACL, JSON-LD Context)

```turtle
dct:modified
	rdfs:label "Date Modified"@en ;
	rdfs:comment "Date on which the resource was changed."@en ;
	dct:description "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty."@en ;
	rdfs:isDefinedBy <http://purl.org/dc/terms/> ;
	rdfs:range rdfs:Literal ;
	rdfs:subPropertyOf <http://purl.org/dc/elements/1.1/date>, dcterms:date .
```

```turtle
<#has-modified>
	a sh:PropertyShape ;
	sh:targetClass databus:Version ;
	sh:severity sh:Violation ;
	sh:message "Required property dct:modified MUST occur exactly once AND have xsd:dateTime as value"@en ;
	sh:path dct:modified;
	sh:minCount 1 ;
	sh:maxCount 1 ;
	sh:datatype xsd:dateTime .
```

```javascript
"modified": {
      "@id": "dct:modified",
      "@type": "xsd:dateTime"
    }
```

Example (JSON-LD):

```javascript
{	
	"@id": "https://databus.dbpedia.org/janni/onto_dep_projectx/dbpedia-ontology/2021-12-06",
	"proof": {
  "@type": "databus:DatabusTractateV1",
  "signature": "d61a05ca4810367f361f17500304a168aab27a3119c93a18c00bce1775dfd6b1"
}
}
```

Spec (OWL, SHACL, JSON-LD Context)

```turtle
sec:proof a owl:ObjectProperty; 
	rdfs:label "has cryptographic proof"@en ;
	rdfs:comment "The proof property is used to associate a proof with a graph of information. The proof property is typically not included in the canonicalized graph that is then digested, and digitally signed."@en ;
	#rdfs:domain  ;
	#rdfs:range  ;
	rdfs:isDefinedBy <https://w3id.org/security#> . 

```

```turtle
```

```javascript
"signature":	{"@id": "sec:signature"},
"proof":	{"@id": "sec:proof", "@type": "@id" },
"DatabusTractateV1": "databus:DatabusTractateV1"
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://dbpedia.gitbook.io/databus/model/metadata/version.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
