### Handle System Start Errors
Source: https://vocbench.uniroma2.it/doc/troubleshooting
Example console logs encountered during the first system startup that can be safely ignored.
```text
Failed to install artifact: C:\TEMP\semanticturkey-6.0\deploy\vocbench3-6.0.0.war
java.lang.IllegalStateException: Unknown protocol: webbundle
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:482)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:474)
at java.net.URL.toExternalForm(URL.java:929)
at java.net.URL.toString(URL.java:915)
….
```
```text
18:57:40.185 ERROR [fileinstall-C:\TEMP\semanticturkey-6.0/deploy] Registration exception. Skipping.
org.osgi.service.http.NamespaceException: alias: '/vocbench3' is already in use in this or another context
at org.ops4j.pax.web.service.spi.model.ServerModel.addServletModel(ServerModel.java:124)
at org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:243)
at org.ops4j.pax.web.service.internal.HttpServiceStarted.registerResources(HttpServiceStarted.java:307)
at org.ops4j.pax.web.service.internal.HttpServiceProxy.registerResources(HttpServiceProxy.java:76)
```
--------------------------------
### Rendered section output example
Source: https://vocbench.uniroma2.it/doc/user/custom_reports.jsf
Example of the HTML output generated by a complex section-level template.
```html
-
EuroVoc (en) (http://eurovoc.europa.eu/100141) - 539
-
7231 economic geography (en) (http://eurovoc.europa.eu/100282) - 33
-
7211 regions of EU Member States (en) (http://eurovoc.europa.eu/100278) - 25
```
--------------------------------
### Rendered report output example
Source: https://vocbench.uniroma2.it/doc/user/custom_reports.jsf
Example of the final HTML output generated after processing the report-level template.
```html
Test Report
```
--------------------------------
### Example SHACL file for PEARL induction
Source: https://vocbench.uniroma2.it/doc/user/cforms
A sample SHACL file defining a NodeShape for the Student class with various property constraints.
```turtle
@prefix schema: .
@prefix sh: .
@prefix xsd: .
@prefix my: .
schema:PersonShape
a sh:NodeShape ;
sh:targetClass my:Student ;
sh:property [
sh:path my:fistName ;
sh:minCount 1 ;
sh:datatype xsd:string ;
] ;
sh:property [
sh:path my:lastName ;
sh:minCount 1 ;
sh:maxCount 2 ;
sh:datatype xsd:string ;
] ;
sh:property [
sh:path my:id ;
sh:minCount 1 ;
sh:maxCount 1 ;
sh:datatype xsd:string ;
] ;
sh:property [
sh:path my:livesIn ;
sh:in ( my:Italy my:France my:Spain my:Germany) ;
] ;
sh:property [
sh:path my:fromCity ;
sh:class my:City ;
] ;
sh:property [
sh:path my:favoriteColor ;
in ( "red" "blue" "green" "yellow" "black" "white") ;
sh:minCount 0 ;
] .
```
--------------------------------
### Legal SKOS Configuration with Top Concept
Source: https://vocbench.uniroma2.it/doc/skos.jsf
Example of a configuration where a narrower concept is also defined as a top concept of the scheme.
```text
A skos:broader .. ; skos:inScheme S .
B skos:broader A
C skos:broader B ; skos:topConceptOf S
```
--------------------------------
### Example of a SKOS Related Triple
Source: https://vocbench.uniroma2.it/doc/lib/rdf_transformers/sparql.jsf
An example of a triple that might remain in the dataset if it references a concept from a different scheme.
```SPARQL
:CA skos:related CB
```
--------------------------------
### Report-level Mustache template
Source: https://vocbench.uniroma2.it/doc/user/custom_reports.jsf
A template example for the entire report, demonstrating iteration over sections and rendering of properties.
```html
{{label}}
{{#sections}}
| {{label}} | {{{rendering}}} |
{{/sections}}
```
--------------------------------
### Define Custom Form Nodes and Graph
Source: https://vocbench.uniroma2.it/doc/user/cforms
Example of a PEARL document structure defining nodes for user input and a graph for RDF resource construction.
```PEARL
...
nodes = {
resource uri(coda:randIdGen("note", {})) .
noteLit literal userPrompt/note .
source literal userPrompt/source .
related uri userPrompt/related .
modified literal^^xsd:datetime userPrompt/modified .
created literal(coda:datetime["yyyy-MM-dd"]) .
}
graph = {
$resource rdf:value $noteLit .
OPTIONAL { $resource dc:related $related . }
OPTIONAL { $resource dc:source $source . }
OPTIONAL { $resource dc:modified $modified . }
$resource dc:created $created.
}
...
```
--------------------------------
### Legal SKOS Concept Tree Configuration
Source: https://vocbench.uniroma2.it/doc/skos.jsf
Example of a standard hierarchical structure where concepts are linked within a scheme.
```text
A skos:broader ..; skos:inScheme S . _(the rest of the tree, here we limit to consider these three concepts)_
B skos:broader A
C skos:broader B
```
--------------------------------
### PEARL Rules for Resource Metadata
Source: https://vocbench.uniroma2.it/doc/user/resource_metadata.jsf
Example PEARL rules for handling resource creation and modification events. These rules utilize the opCtx structure to access contextual information like the affected resource.
```PEARL
/* Construction */
rule it.uniroma2.art.semanticturkey.onResourceCreated id:onResourceCreated {
nodes = {
createdRes uri opCtx/resource .
creationDate literal(coda:datetime()) .
}
graph = {
$createdRes dct:created $creationDate .
}
}
/* Update */
rule it.uniroma2.art.semanticturkey.onResourceModified id:onResourceModified {
nodes = {
modifiedRes uri opCtx/resource .
modificationDate literal(coda:datetime()) .
}
insert = {
$modifiedRes dct:modified $modificationDate .
}
delete = {
OPTIONAL{
$modifiedRes dct:modified ?oldModificationDate .
}
}
where = {
$modifiedRes dct:modified ?oldModificationDate .
}
}
```
--------------------------------
### Configure Semantic Turkey Path and Protocol in vbconfig.js
Source: https://vocbench.uniroma2.it/doc/sys/index.jsf
Define the server path for proxy configurations and specify the connection protocol.
```javascript
/**
* Path where SemanticTurkey server is listening. If omitted, the sole host
* is considered.
* Please note that the path of Semantic Turkey services is defined as in:
* http://semanticturkey.uniroma2.it/doc/user/web_api.jsf#services_address_structure
* This additional path information is considered to be the starting part
* of the path described above, and is usually necessary in case Semantic
* Turkey is installed behind a proxy redirecting the ST URL.
*/
var st_path;
/**
* Protocol - either http or https
* By default (variable left unspecified) the protocol is resolved
* dynamically by using the same one of the container hosting VocBench.
*/
// var st_protocol = "http";
```
--------------------------------
### Configure Semantic Turkey Host and Port in vbconfig.js
Source: https://vocbench.uniroma2.it/doc/sys/index.jsf
Uncomment and set these variables to manually define the Semantic Turkey server location when it is not on the same host or port as VocBench.
```javascript
/**
* IP address/logical host name of the machine hosting Semantic Turkey.
* By default (variable left unspecified) the host is resolved dynamically
* by using the same address of the machine hosting VocBench.
* Thus if VocBench3 and Semantic Turkey are running on the same machine
* this variable can be left commented, otherwise uncomment the line and
* edit the value.
*/
// var st_host = "127.0.0.1";
/**
* Port of the container hosting Semantic Turkey.
* By default (variable left unspecified) the port is resolved dynamically
* by using the same port of the container hosting VocBench.
* Thus if VocBench3 and Semantic Turkey are running on the same container
* this variable can be left commented, otherwise uncomment the line and
* edit the value.
*/
// var st_port = "1979";
```
--------------------------------
### Illegal SKOS Configuration Causing Reachability Break
Source: https://vocbench.uniroma2.it/doc/skos.jsf
Example of a configuration where a concept becomes unreachable because it lacks a valid broader chain or top concept status within the scheme.
```text
A skos:broader .. ; skos:inScheme S .
B skos:broader A
C skos:broader B ; skos:inScheme S .
```
--------------------------------
### SAML application.yml configuration template
Source: https://vocbench.uniroma2.it/doc/sys/index.jsf
Default configuration template for SAML relying party registration in Semantic Turkey.
```yaml
#spring.security.saml2.relyingparty.registration.st_saml:
# base-url: "https://example.org"
# redirect-url: "https://example.org/vocbench3"
# identityprovider.metadata-location: "file:./config/saml/idp-metadata.xml"
# signing:
# credentials:
# - private-key-location: "file:./config/saml/private.key"
# certificate-location: "file:./config/saml/public.cer"
# keystore:
# - location: "file:./config/saml/keystore.jsk"
# alias: ""
# password: ""
```