From 3b15e833145cd1bd4871b7a7d4cb6865abe90441 Mon Sep 17 00:00:00 2001 From: Sebastian B Date: Sat, 26 Sep 2026 15:41:42 +0200 Subject: [PATCH] FIX: add last version folder --- docs/2026-09-25/error.graphml | 129 +++ docs/2026-09-25/error.html | 615 ++++++++++++ docs/2026-09-25/error.jsonld | 276 ++++++ docs/2026-09-25/error.nt | 50 + docs/2026-09-25/error.png | Bin 0 -> 32437 bytes docs/2026-09-25/error.ttl | 160 ++++ docs/2026-09-25/error.xml | 174 ++++ docs/2026-09-25/resources/dc/creator.html | 271 ++++++ docs/2026-09-25/resources/dc/creator.jsonld | 8 + docs/2026-09-25/resources/dc/creator.nt | 1 + docs/2026-09-25/resources/dc/creator.rdf | 8 + docs/2026-09-25/resources/dc/creator.ttl | 5 + docs/2026-09-25/resources/dc/date.html | 271 ++++++ docs/2026-09-25/resources/dc/date.jsonld | 8 + docs/2026-09-25/resources/dc/date.nt | 1 + docs/2026-09-25/resources/dc/date.rdf | 8 + docs/2026-09-25/resources/dc/date.ttl | 5 + docs/2026-09-25/resources/dc/description.html | 271 ++++++ .../resources/dc/description.jsonld | 8 + docs/2026-09-25/resources/dc/description.nt | 1 + docs/2026-09-25/resources/dc/description.rdf | 8 + docs/2026-09-25/resources/dc/description.ttl | 5 + docs/2026-09-25/resources/dc/rights.html | 271 ++++++ docs/2026-09-25/resources/dc/rights.jsonld | 8 + docs/2026-09-25/resources/dc/rights.nt | 1 + docs/2026-09-25/resources/dc/rights.rdf | 8 + docs/2026-09-25/resources/dc/rights.ttl | 5 + docs/2026-09-25/resources/dc/title.html | 271 ++++++ docs/2026-09-25/resources/dc/title.jsonld | 8 + docs/2026-09-25/resources/dc/title.nt | 1 + docs/2026-09-25/resources/dc/title.rdf | 8 + docs/2026-09-25/resources/dc/title.ttl | 5 + docs/2026-09-25/resources/error/hasError.html | 399 ++++++++ .../resources/error/hasError.jsonld | 68 ++ docs/2026-09-25/resources/error/hasError.nt | 12 + docs/2026-09-25/resources/error/hasError.rdf | 29 + docs/2026-09-25/resources/error/hasError.ttl | 24 + .../2026-09-25/resources/owl/versionInfo.html | 270 ++++++ .../resources/owl/versionInfo.jsonld | 8 + docs/2026-09-25/resources/owl/versionInfo.nt | 1 + docs/2026-09-25/resources/owl/versionInfo.rdf | 8 + docs/2026-09-25/resources/owl/versionInfo.ttl | 4 + docs/2026-09-25/resources/rdfs/comment.html | 271 ++++++ docs/2026-09-25/resources/rdfs/comment.jsonld | 8 + docs/2026-09-25/resources/rdfs/comment.nt | 1 + docs/2026-09-25/resources/rdfs/comment.rdf | 8 + docs/2026-09-25/resources/rdfs/comment.ttl | 5 + docs/2026-09-25/resources/rdfs/label.html | 271 ++++++ docs/2026-09-25/resources/rdfs/label.jsonld | 8 + docs/2026-09-25/resources/rdfs/label.nt | 1 + docs/2026-09-25/resources/rdfs/label.rdf | 8 + docs/2026-09-25/resources/rdfs/label.ttl | 5 + docs/2026-09-25/static/style.css | 901 ++++++++++++++++++ 53 files changed, 5179 insertions(+) create mode 100644 docs/2026-09-25/error.graphml create mode 100644 docs/2026-09-25/error.html create mode 100644 docs/2026-09-25/error.jsonld create mode 100644 docs/2026-09-25/error.nt create mode 100644 docs/2026-09-25/error.png create mode 100644 docs/2026-09-25/error.ttl create mode 100644 docs/2026-09-25/error.xml create mode 100644 docs/2026-09-25/resources/dc/creator.html create mode 100644 docs/2026-09-25/resources/dc/creator.jsonld create mode 100644 docs/2026-09-25/resources/dc/creator.nt create mode 100644 docs/2026-09-25/resources/dc/creator.rdf create mode 100644 docs/2026-09-25/resources/dc/creator.ttl create mode 100644 docs/2026-09-25/resources/dc/date.html create mode 100644 docs/2026-09-25/resources/dc/date.jsonld create mode 100644 docs/2026-09-25/resources/dc/date.nt create mode 100644 docs/2026-09-25/resources/dc/date.rdf create mode 100644 docs/2026-09-25/resources/dc/date.ttl create mode 100644 docs/2026-09-25/resources/dc/description.html create mode 100644 docs/2026-09-25/resources/dc/description.jsonld create mode 100644 docs/2026-09-25/resources/dc/description.nt create mode 100644 docs/2026-09-25/resources/dc/description.rdf create mode 100644 docs/2026-09-25/resources/dc/description.ttl create mode 100644 docs/2026-09-25/resources/dc/rights.html create mode 100644 docs/2026-09-25/resources/dc/rights.jsonld create mode 100644 docs/2026-09-25/resources/dc/rights.nt create mode 100644 docs/2026-09-25/resources/dc/rights.rdf create mode 100644 docs/2026-09-25/resources/dc/rights.ttl create mode 100644 docs/2026-09-25/resources/dc/title.html create mode 100644 docs/2026-09-25/resources/dc/title.jsonld create mode 100644 docs/2026-09-25/resources/dc/title.nt create mode 100644 docs/2026-09-25/resources/dc/title.rdf create mode 100644 docs/2026-09-25/resources/dc/title.ttl create mode 100644 docs/2026-09-25/resources/error/hasError.html create mode 100644 docs/2026-09-25/resources/error/hasError.jsonld create mode 100644 docs/2026-09-25/resources/error/hasError.nt create mode 100644 docs/2026-09-25/resources/error/hasError.rdf create mode 100644 docs/2026-09-25/resources/error/hasError.ttl create mode 100644 docs/2026-09-25/resources/owl/versionInfo.html create mode 100644 docs/2026-09-25/resources/owl/versionInfo.jsonld create mode 100644 docs/2026-09-25/resources/owl/versionInfo.nt create mode 100644 docs/2026-09-25/resources/owl/versionInfo.rdf create mode 100644 docs/2026-09-25/resources/owl/versionInfo.ttl create mode 100644 docs/2026-09-25/resources/rdfs/comment.html create mode 100644 docs/2026-09-25/resources/rdfs/comment.jsonld create mode 100644 docs/2026-09-25/resources/rdfs/comment.nt create mode 100644 docs/2026-09-25/resources/rdfs/comment.rdf create mode 100644 docs/2026-09-25/resources/rdfs/comment.ttl create mode 100644 docs/2026-09-25/resources/rdfs/label.html create mode 100644 docs/2026-09-25/resources/rdfs/label.jsonld create mode 100644 docs/2026-09-25/resources/rdfs/label.nt create mode 100644 docs/2026-09-25/resources/rdfs/label.rdf create mode 100644 docs/2026-09-25/resources/rdfs/label.ttl create mode 100644 docs/2026-09-25/static/style.css diff --git a/docs/2026-09-25/error.graphml b/docs/2026-09-25/error.graphml new file mode 100644 index 0000000..8af26c7 --- /dev/null +++ b/docs/2026-09-25/error.graphml @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + owl:Thing + + + + + + + + + + + xsd:string + + + + + + + + + + + + + rdfs:domain [ a owl:Restriction ; + owl:cardinality "0"^^xsd:nonNegativeInteger ; + owl:onProperty error:hasError ] + + + + + + + + + + + + + Prefixes + + + + + + + + + + + Folder 2 + + + + + + + + + + + + + + + + + error: +owl: +rdfs: +xsd: + + + + + + + + + + + http://www.essepuntato.it/2009/10/error# +http://www.w3.org/2002/07/owl# +http://www.w3.org/2000/01/rdf-schema# +http://www.w3.org/2001/XMLSchema# + + + + + + + + + + + + + error:hasError + + + + + + + + + diff --git a/docs/2026-09-25/error.html b/docs/2026-09-25/error.html new file mode 100644 index 0000000..2ee2ea2 --- /dev/null +++ b/docs/2026-09-25/error.html @@ -0,0 +1,615 @@ +LODE 2.0 - Semantic Artefact Viewer

The Error Ontology

http://purl.org/spar/error

Classes 1

Jump to:

thing
c

back to ToC or Class ToC

IRI: http://www.w3.org/2002/07/owl#Thing

Data Properties 1

Jump to:

has error
dp

back to ToC or Data Property ToC

IRI: http://www.essepuntato.it/2009/10/error#hasError

comment
A description, usually in natural language, of which kind of error results from a resource. +
en
domain
exactly 0
range
string
is defined by
http://purl.org/spar/error/
label
has error
en
example
+ + :my-resource + error:hasError "This resource violates a constraint of the model."^^xsd:string . + +
note
+ A data property linking a resource that contains a logical error (which results in it belonging to the class owl:Nothing, therefore making the model inconsistent) to a textual description of that error. +
en
term status

bibliographic citation
ap

back to ToC or Annotation Property ToC

IRI: http://purl.org/dc/terms/bibliographicCitation

changes
ap

back to ToC or Annotation Property ToC

IRI: http://purl.org/vocab/vann/changes

code repository
ap

back to ToC or Annotation Property ToC

IRI: https://schema.org/codeRepository

comment
ap

back to ToC or Annotation Property ToC

IRI: http://www.w3.org/2000/01/rdf-schema#comment

contributor
ap

back to ToC or Annotation Property ToC

IRI: http://purl.org/dc/elements/1.1/contributor

created
ap

back to ToC or Annotation Property ToC

IRI: http://purl.org/dc/terms/created

creator
ap

back to ToC or Annotation Property ToC

IRI: http://purl.org/dc/elements/1.1/creator

date
ap

back to ToC or Annotation Property ToC

IRI: http://purl.org/dc/elements/1.1/date

description
ap

back to ToC or Annotation Property ToC

IRI: http://purl.org/dc/elements/1.1/description

doi
ap

back to ToC or Annotation Property ToC

IRI: http://purl.org/ontology/bibo/doi

example
ap

back to ToC or Annotation Property ToC

IRI: http://purl.org/vocab/vann/example

image
ap

back to ToC or Annotation Property ToC

IRI: https://schema.org/image

included in data catalog
ap

back to ToC or Annotation Property ToC

IRI: https://schema.org/includedInDataCatalog

issued
ap

back to ToC or Annotation Property ToC

IRI: http://purl.org/dc/terms/issued

keywords
ap

back to ToC or Annotation Property ToC

IRI: https://schema.org/keywords

label
ap

back to ToC or Annotation Property ToC

IRI: http://www.w3.org/2000/01/rdf-schema#label

license
ap

back to ToC or Annotation Property ToC

IRI: http://purl.org/dc/terms/license

logo
ap

back to ToC or Annotation Property ToC

IRI: http://xmlns.com/foaf/0.1/logo

modified
ap

back to ToC or Annotation Property ToC

IRI: http://purl.org/dc/terms/modified

note
ap

back to ToC or Annotation Property ToC

IRI: http://www.w3.org/2004/02/skos/core#note

preferred namespace prefix
ap

back to ToC or Annotation Property ToC

IRI: http://purl.org/vocab/vann/preferredNamespacePrefix

preferred namespace uri
ap

back to ToC or Annotation Property ToC

IRI: http://purl.org/vocab/vann/preferredNamespaceUri

publisher
ap

back to ToC or Annotation Property ToC

IRI: http://purl.org/dc/terms/publisher

rights
ap

back to ToC or Annotation Property ToC

IRI: http://purl.org/dc/elements/1.1/rights

source
ap

back to ToC or Annotation Property ToC

IRI: http://purl.org/dc/terms/source

status
ap

back to ToC or Annotation Property ToC

IRI: http://purl.org/ontology/bibo/status

term status
ap

back to ToC or Annotation Property ToC

IRI: http://www.w3.org/2003/06/sw-vocab-status/ns#term_status

title
ap

back to ToC or Annotation Property ToC

IRI: http://purl.org/dc/elements/1.1/title

version info
ap

back to ToC or Annotation Property ToC

IRI: http://www.w3.org/2002/07/owl#versionInfo

Namespace Declarations back to ToC

bibo
http://purl.org/ontology/bibo/
brick
https://brickschema.org/schema/Brick#
csvw
http://www.w3.org/ns/csvw#
dc
http://purl.org/dc/elements/1.1/
dcam
http://purl.org/dc/dcam/
dcat
http://www.w3.org/ns/dcat#
dcmitype
http://purl.org/dc/dcmitype/
dcterms
http://purl.org/dc/terms/
doap
http://usefulinc.com/ns/doap#
error
http://www.essepuntato.it/2009/10/error#
foaf
http://xmlns.com/foaf/0.1/
geo
http://www.opengis.net/ont/geosparql#
odrl
http://www.w3.org/ns/odrl/2/
org
http://www.w3.org/ns/org#
owl
http://www.w3.org/2002/07/owl#
prof
http://www.w3.org/ns/dx/prof/
prov
http://www.w3.org/ns/prov#
qb
http://purl.org/linked-data/cube#
rdf
http://www.w3.org/1999/02/22-rdf-syntax-ns#
rdfs
http://www.w3.org/2000/01/rdf-schema#
reg
http://purl.org/linked-data/registry#
schema
https://schema.org/
sh
http://www.w3.org/ns/shacl#
skos
http://www.w3.org/2004/02/skos/core#
sosa
http://www.w3.org/ns/sosa/
ssn
http://www.w3.org/ns/ssn/
time
http://www.w3.org/2006/time#
vann
http://purl.org/vocab/vann/
void
http://rdfs.org/ns/void#
vs
http://www.w3.org/2003/06/sw-vocab-status/ns#
wgs
https://www.w3.org/2003/01/geo/wgs84_pos#
xml
http://www.w3.org/XML/1998/namespace
xsd
http://www.w3.org/2001/XMLSchema#
\ No newline at end of file diff --git a/docs/2026-09-25/error.jsonld b/docs/2026-09-25/error.jsonld new file mode 100644 index 0000000..59aa140 --- /dev/null +++ b/docs/2026-09-25/error.jsonld @@ -0,0 +1,276 @@ +[ + { + "@id": "http://www.w3.org/2000/01/rdf-schema#comment", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "http://purl.org/dc/elements/1.1/rights", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "http://www.w3.org/2002/07/owl#versionInfo", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "http://www.w3.org/2000/01/rdf-schema#label", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "http://purl.org/spar/error", + "@type": [ + "http://www.w3.org/2002/07/owl#Ontology" + ], + "http://purl.org/dc/elements/1.1/contributor": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "Sebastian Barzaghi (https://orcid.org/0000-0002-0799-1527)" + } + ], + "http://purl.org/dc/elements/1.1/creator": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "Silvio Peroni (https://orcid.org/0000-0003-0530-4305)" + } + ], + "http://purl.org/dc/elements/1.1/date": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2026-09-25" + } + ], + "http://purl.org/dc/elements/1.1/description": [ + { + "@language": "en", + "@value": "\nThe **_Error Ontology_** is an unit test that allow to produce an inconsistent model if a particular (and incorrect) situation happens.\n\n![The main architecture of the Error Ontology.](error.png)\n\nIt works by means of a data property `error:hasError` that denies its usage for ant resource. \nIn fact, by defining its domain as \"all those resource that do not have any `hasErrorDescription` assertion\", a resource that asserts having an error makes the ontology inconsistent.\n\n## Examples of use\n\nIn the following subsections, we introduce some examples to showcase how to use the Error Ontology. \n\nThe prefixes that are used in all the examples provided below are defined as follows:\n\n @prefix : .\n @prefix error: .\n @prefix owl: .\n @prefix rdfs: .\n @prefix xsd: .\n\n### Flagging an erroneous resource\n\nA resource can be directly marked as erroneous by asserting a description of its error. \nSince no resource can have any `error:hasError` assertion, a reasoner will classify it as a member of `owl:Nothing`, making the model inconsistent.\n\n :my-article a fabio:Article ;\n error:hasError \"The article has two different publication dates.\"^^xsd:string .\n\n### Defining a forbidden situation through a class axiom\n\nAn incorrect situation can be modelled as a class whose members are automatically associated with an error description. \nAny individual that falls in such a class makes the model inconsistent, and the error description explains why.\n\n :DraftAndPublishedDocument\n owl:equivalentClass [ a owl:Class ;\n owl:intersectionOf ( fabio:Manuscript fabio:JournalArticle ) ] ;\n rdfs:subClassOf [ a owl:Restriction ;\n owl:onProperty error:hasError ;\n owl:hasValue \"A document cannot be a draft and published at the same time.\"^^xsd:string ] .\n\n :my-document a fabio:Manuscript , \n fabio:JournalArticle .\n\n## Competency Questions\n\nThe Error Ontology can be used to produce an inconsistent model if a particular (and incorrect) situation happens.\nIn the following subsections, some competency questions are introduced together with their respective SPARQL queries.\n\nThe prefixes that are used in all the SPARQL queries provided below are defined as follows:\n\n PREFIX error: \n PREFIX owl: \n PREFIX rdfs: \n\n### CQ1\n\nWhich resources are explicitly asserted to have an error, and what is the description of that error?\n\n SELECT ?resource ?description WHERE {\n ?resource error:hasError ?description .\n }\n\n### CQ2\n\nWhich classes describe a forbidden situation, and what is the error description associated with their members?\n\n SELECT ?class ?description WHERE {\n ?class rdfs:subClassOf ?restriction .\n ?restriction a owl:Restriction ;\n owl:onProperty error:hasError ;\n owl:hasValue ?description .\n }\n\n### CQ3\n\nDoes the dataset contain at least one resource with an error?\n\n ASK {\n ?resource error:hasError ?description .\n }\n\n" + } + ], + "http://purl.org/dc/elements/1.1/title": [ + { + "@language": "en", + "@value": "The Error Ontology" + } + ], + "http://purl.org/dc/terms/bibliographicCitation": [ + { + "@value": "Ciccarese, P., & Peroni, S. (2014). The Collections Ontology: creating and handling collections in OWL 2 DL frameworks. Semantic Web, 5(6), 515-529. DOI: https://doi.org/10.3233/SW-130121." + } + ], + "http://purl.org/dc/terms/created": [ + { + "@value": "2010-11-29" + } + ], + "http://purl.org/dc/terms/issued": [ + { + "@value": "2010-11-29" + } + ], + "http://purl.org/dc/terms/license": [ + { + "@id": "http://creativecommons.org/licenses/by/4.0/" + } + ], + "http://purl.org/dc/terms/modified": [ + { + "@value": "2026-09-25" + } + ], + "http://purl.org/dc/terms/publisher": [ + { + "@id": "https://ror.org/00wb4mk85" + } + ], + "http://purl.org/dc/terms/source": [ + { + "@id": "https://github.com/SPAROntologies/error/blob/master/docs/cq.md" + } + ], + "http://purl.org/ontology/bibo/doi": [ + { + "@value": "TBA" + } + ], + "http://purl.org/ontology/bibo/status": [ + { + "@id": "http://purl.org/ontology/bibo/status/published" + } + ], + "http://purl.org/vocab/vann/changes": [ + { + "@language": "en", + "@value": "\n* **v1.0.1**: \nAdded new documentation, including annotation properties (e.g., `bibo:doi`, `schema:codeRepository`, etc.), term properties (e.g., `vann:example`, `vs:term_status`, etc.), exemplary competency questions with their respective SPARQL queries, and a Grafoo diagram.\n " + } + ], + "http://purl.org/vocab/vann/preferredNamespacePrefix": [ + { + "@language": "en", + "@value": "error" + } + ], + "http://purl.org/vocab/vann/preferredNamespaceUri": [ + { + "@language": "en", + "@value": "http://purl.org/spar/error" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "Error Ontology" + } + ], + "http://www.w3.org/2002/07/owl#backwardCompatibleWith": [ + { + "@id": "http://www.essepuntato.it/2009/10/error#2010-11-29" + } + ], + "http://www.w3.org/2002/07/owl#priorVersion": [ + { + "@id": "http://www.essepuntato.it/2009/10/error#2010-11-29" + } + ], + "http://www.w3.org/2002/07/owl#versionIRI": [ + { + "@id": "http://www.essepuntato.it/2009/10/error#2026-09-25" + } + ], + "http://www.w3.org/2002/07/owl#versionInfo": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "1.0.1" + } + ], + "http://xmlns.com/foaf/0.1/logo": [ + { + "@id": "https://github.com/SPAROntologies/error/blob/master/spar.png" + } + ], + "https://schema.org/codeRepository": [ + { + "@id": "https://github.com/SPAROntologies/error" + } + ], + "https://schema.org/image": [ + { + "@id": "https://github.com/SPAROntologies/error/blob/master/docs/current/error.png" + } + ], + "https://schema.org/includedInDataCatalog": [ + { + "@id": "https://fairsharing.org/" + } + ], + "https://schema.org/keywords": [ + { + "@language": "en", + "@value": "errors" + }, + { + "@language": "en", + "@value": "error descriptions" + }, + { + "@language": "en", + "@value": "semantic publishing" + } + ] + }, + { + "@id": "http://purl.org/dc/elements/1.1/title", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "http://purl.org/dc/elements/1.1/creator", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "http://purl.org/dc/elements/1.1/date", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "http://purl.org/dc/elements/1.1/description", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "http://www.essepuntato.it/2009/10/error#hasError", + "@type": [ + "http://www.w3.org/2002/07/owl#DatatypeProperty" + ], + "http://purl.org/vocab/vann/example": [ + { + "@value": "\n :my-resource\n error:hasError \"This resource violates a constraint of the model.\"^^xsd:string .\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "A description, usually in natural language, of which kind of error results from a resource." + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "_:n35f6366f7455428da85a75c459d5ca60b1" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://purl.org/spar/error/" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "has error" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#string" + } + ], + "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": [ + { + "@id": "http://purl.org/linked-data/registry#statusStable" + } + ], + "http://www.w3.org/2004/02/skos/core#note": [ + { + "@language": "en", + "@value": "A data property linking a resource that contains a logical error (which results in it belonging to the class owl:Nothing, therefore making the model inconsistent) to a textual description of that error." + } + ] + }, + { + "@id": "_:n35f6366f7455428da85a75c459d5ca60b1", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" + ], + "http://www.w3.org/2002/07/owl#cardinality": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#nonNegativeInteger", + "@value": "0" + } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ + { + "@id": "http://www.essepuntato.it/2009/10/error#hasError" + } + ] + } +] \ No newline at end of file diff --git a/docs/2026-09-25/error.nt b/docs/2026-09-25/error.nt new file mode 100644 index 0000000..790dac7 --- /dev/null +++ b/docs/2026-09-25/error.nt @@ -0,0 +1,50 @@ + "Error Ontology"@en . + "The Error Ontology"@en . + . + "\n :my-resource\n error:hasError \"This resource violates a constraint of the model.\"^^xsd:string .\n " . + . + . + "error descriptions"@en . + "1.0.1"^^ . + . + "http://purl.org/spar/error"@en . + . + . + "A data property linking a resource that contains a logical error (which results in it belonging to the class owl:Nothing, therefore making the model inconsistent) to a textual description of that error."@en . + "has error"@en . + "Silvio Peroni (https://orcid.org/0000-0003-0530-4305)"^^ . + "2010-11-29" . + . + . + "TBA" . + "\n* **v1.0.1**: \nAdded new documentation, including annotation properties (e.g., `bibo:doi`, `schema:codeRepository`, etc.), term properties (e.g., `vann:example`, `vs:term_status`, etc.), exemplary competency questions with their respective SPARQL queries, and a Grafoo diagram.\n "@en . +_:n35f6366f7455428da85a75c459d5ca60b1 . + . + . + . + . + . + . + "errors"@en . + _:n35f6366f7455428da85a75c459d5ca60b1 . + . + . + "A description, usually in natural language, of which kind of error results from a resource."@en . +_:n35f6366f7455428da85a75c459d5ca60b1 . + . + "2010-11-29" . + "semantic publishing"@en . + "2026-09-25"^^ . +_:n35f6366f7455428da85a75c459d5ca60b1 "0"^^ . + "2026-09-25" . + "Sebastian Barzaghi (https://orcid.org/0000-0002-0799-1527)"^^ . + . + . + "error"@en . + . + "\nThe **_Error Ontology_** is an unit test that allow to produce an inconsistent model if a particular (and incorrect) situation happens.\n\n![The main architecture of the Error Ontology.](error.png)\n\nIt works by means of a data property `error:hasError` that denies its usage for ant resource. \nIn fact, by defining its domain as \"all those resource that do not have any `hasErrorDescription` assertion\", a resource that asserts having an error makes the ontology inconsistent.\n\n## Examples of use\n\nIn the following subsections, we introduce some examples to showcase how to use the Error Ontology. \n\nThe prefixes that are used in all the examples provided below are defined as follows:\n\n @prefix : .\n @prefix error: .\n @prefix owl: .\n @prefix rdfs: .\n @prefix xsd: .\n\n### Flagging an erroneous resource\n\nA resource can be directly marked as erroneous by asserting a description of its error. \nSince no resource can have any `error:hasError` assertion, a reasoner will classify it as a member of `owl:Nothing`, making the model inconsistent.\n\n :my-article a fabio:Article ;\n error:hasError \"The article has two different publication dates.\"^^xsd:string .\n\n### Defining a forbidden situation through a class axiom\n\nAn incorrect situation can be modelled as a class whose members are automatically associated with an error description. \nAny individual that falls in such a class makes the model inconsistent, and the error description explains why.\n\n :DraftAndPublishedDocument\n owl:equivalentClass [ a owl:Class ;\n owl:intersectionOf ( fabio:Manuscript fabio:JournalArticle ) ] ;\n rdfs:subClassOf [ a owl:Restriction ;\n owl:onProperty error:hasError ;\n owl:hasValue \"A document cannot be a draft and published at the same time.\"^^xsd:string ] .\n\n :my-document a fabio:Manuscript , \n fabio:JournalArticle .\n\n## Competency Questions\n\nThe Error Ontology can be used to produce an inconsistent model if a particular (and incorrect) situation happens.\nIn the following subsections, some competency questions are introduced together with their respective SPARQL queries.\n\nThe prefixes that are used in all the SPARQL queries provided below are defined as follows:\n\n PREFIX error: \n PREFIX owl: \n PREFIX rdfs: \n\n### CQ1\n\nWhich resources are explicitly asserted to have an error, and what is the description of that error?\n\n SELECT ?resource ?description WHERE {\n ?resource error:hasError ?description .\n }\n\n### CQ2\n\nWhich classes describe a forbidden situation, and what is the error description associated with their members?\n\n SELECT ?class ?description WHERE {\n ?class rdfs:subClassOf ?restriction .\n ?restriction a owl:Restriction ;\n owl:onProperty error:hasError ;\n owl:hasValue ?description .\n }\n\n### CQ3\n\nDoes the dataset contain at least one resource with an error?\n\n ASK {\n ?resource error:hasError ?description .\n }\n\n"@en . + . + . + . + "Ciccarese, P., & Peroni, S. (2014). The Collections Ontology: creating and handling collections in OWL 2 DL frameworks. Semantic Web, 5(6), 515-529. DOI: https://doi.org/10.3233/SW-130121." . + . diff --git a/docs/2026-09-25/error.png b/docs/2026-09-25/error.png new file mode 100644 index 0000000000000000000000000000000000000000..4a5399af9f0b1e92399ce496d958f640e36e6da7 GIT binary patch literal 32437 zcmeFZWn7fe*EXu6sH8L!BHf@gA|Q=)NW&m442?*Gf`GKNfOIp!P(u$$mvjsa-QC^q zJ^HWbIp@6R{C>~*a6TMA>D;yV+G}6yTGv|JAQdGUYz#7tJ9qA2zm=6#yL0EB+nqai zyC2;He%YJuF1d5Z+w-lY*gIFyR`O$41;lMT^!Yc*!mwnP^iN{JQEHc(LO#0kqs2^W zJXX*O-?Ir9Sght_Y>i-*wtlXn6GQ=$Ts|0S6+wUK!!4r>^|09aZE8*vd3so{oZ``V zI_1*Ds*Zt{gOcZ5p`=c6Y>uA*C*mr81T3!;*a*(j&xB!mk)p+13&kRL+OEw zuQC6}7nMA=Gi6Hg@M3*^x!gTi=>)|BGbabnN$+jv0iS)_B(MsLc$QpbAY@W*-kmNX z=UHz&ku1lM-ZHqo=81I|U0jF{7>F86FyH&mthZu{Nmjz2<;;y9y?BBw1qK?Wrdn}V zqTt=Wv{iQMb^a1zz#X)7N^)Q-%tTV;FX+@6ygy!T`BVRT^PwZ)iMXs>TMe_GYQ>?* zv4ZK-N5F0QXsbEa?lu^BsF|wa^(jsqAqi>R*{Q!~(fmv*TZb`AqAc@PN`T*N7_9zn z4F-HP*xt4~2a)q+5HJ=U(fm}5B2Q`GgedWFGA#Yik#RYND#$&+He@9Y>X2sx~NQYnX8` zy{!yMrkt#Hvg5V!q_UoPYvR!KxE;F

@7Qz)D0GZ#_s;dVRVhtYgsdy7UFg^xr19 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 . +@prefix dc: . +@prefix dcterms: . +@prefix error: . +@prefix foaf: . +@prefix owl: . +@prefix rdfs: . +@prefix reg: . +@prefix schema: . +@prefix skos: . +@prefix vann: . +@prefix vs: . +@prefix xsd: . + +dc:creator a owl:AnnotationProperty . + +dc:date a owl:AnnotationProperty . + +dc:description a owl:AnnotationProperty . + +dc:rights a owl:AnnotationProperty . + +dc:title a owl:AnnotationProperty . + + a owl:Ontology ; + rdfs:label "Error Ontology"@en ; + dc:contributor "Sebastian Barzaghi (https://orcid.org/0000-0002-0799-1527)"^^xsd:string ; + dc:creator "Silvio Peroni (https://orcid.org/0000-0003-0530-4305)"^^xsd:string ; + dc:date "2026-09-25"^^xsd:date ; + dc:description """ +The **_Error Ontology_** is an unit test that allow to produce an inconsistent model if a particular (and incorrect) situation happens. + +![The main architecture of the Error Ontology.](error.png) + +It works by means of a data property `error:hasError` that denies its usage for ant resource. +In fact, by defining its domain as "all those resource that do not have any `hasErrorDescription` assertion", a resource that asserts having an error makes the ontology inconsistent. + +## Examples of use + +In the following subsections, we introduce some examples to showcase how to use the Error Ontology. + +The prefixes that are used in all the examples provided below are defined as follows: + + @prefix : . + @prefix error: . + @prefix owl: . + @prefix rdfs: . + @prefix xsd: . + +### Flagging an erroneous resource + +A resource can be directly marked as erroneous by asserting a description of its error. +Since no resource can have any `error:hasError` assertion, a reasoner will classify it as a member of `owl:Nothing`, making the model inconsistent. + + :my-article a fabio:Article ; + error:hasError "The article has two different publication dates."^^xsd:string . + +### Defining a forbidden situation through a class axiom + +An incorrect situation can be modelled as a class whose members are automatically associated with an error description. +Any individual that falls in such a class makes the model inconsistent, and the error description explains why. + + :DraftAndPublishedDocument + owl:equivalentClass [ a owl:Class ; + owl:intersectionOf ( fabio:Manuscript fabio:JournalArticle ) ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty error:hasError ; + owl:hasValue "A document cannot be a draft and published at the same time."^^xsd:string ] . + + :my-document a fabio:Manuscript , + fabio:JournalArticle . + +## Competency Questions + +The Error Ontology can be used to produce an inconsistent model if a particular (and incorrect) situation happens. +In the following subsections, some competency questions are introduced together with their respective SPARQL queries. + +The prefixes that are used in all the SPARQL queries provided below are defined as follows: + + PREFIX error: + PREFIX owl: + PREFIX rdfs: + +### CQ1 + +Which resources are explicitly asserted to have an error, and what is the description of that error? + + SELECT ?resource ?description WHERE { + ?resource error:hasError ?description . + } + +### CQ2 + +Which classes describe a forbidden situation, and what is the error description associated with their members? + + SELECT ?class ?description WHERE { + ?class rdfs:subClassOf ?restriction . + ?restriction a owl:Restriction ; + owl:onProperty error:hasError ; + owl:hasValue ?description . + } + +### CQ3 + +Does the dataset contain at least one resource with an error? + + ASK { + ?resource error:hasError ?description . + } + +"""@en ; + dc:title "The Error Ontology"@en ; + dcterms:bibliographicCitation "Ciccarese, P., & Peroni, S. (2014). The Collections Ontology: creating and handling collections in OWL 2 DL frameworks. Semantic Web, 5(6), 515-529. DOI: https://doi.org/10.3233/SW-130121." ; + dcterms:created "2010-11-29" ; + dcterms:issued "2010-11-29" ; + dcterms:license ; + dcterms:modified "2026-09-25" ; + dcterms:publisher ; + dcterms:source ; + bibo:doi "TBA" ; + bibo:status ; + vann:changes """ +* **v1.0.1**: +Added new documentation, including annotation properties (e.g., `bibo:doi`, `schema:codeRepository`, etc.), term properties (e.g., `vann:example`, `vs:term_status`, etc.), exemplary competency questions with their respective SPARQL queries, and a Grafoo diagram. + """@en ; + vann:preferredNamespacePrefix "error"@en ; + vann:preferredNamespaceUri "http://purl.org/spar/error"@en ; + owl:backwardCompatibleWith error:2010-11-29 ; + owl:priorVersion error:2010-11-29 ; + owl:versionIRI error:2026-09-25 ; + owl:versionInfo "1.0.1"^^xsd:string ; + foaf:logo ; + schema:codeRepository ; + schema:image ; + schema:includedInDataCatalog ; + schema:keywords "error descriptions"@en, + "errors"@en, + "semantic publishing"@en . + +rdfs:comment a owl:AnnotationProperty . + +rdfs:label a owl:AnnotationProperty . + +owl:versionInfo a owl:AnnotationProperty . + +error:hasError a owl:DatatypeProperty ; + rdfs:label "has error"@en ; + vann:example """ + :my-resource + error:hasError "This resource violates a constraint of the model."^^xsd:string . + """ ; + rdfs:comment "A description, usually in natural language, of which kind of error results from a resource."@en ; + rdfs:domain [ a owl:Restriction ; + owl:cardinality "0"^^xsd:nonNegativeInteger ; + owl:onProperty error:hasError ] ; + rdfs:isDefinedBy ; + rdfs:range xsd:string ; + vs:term_status reg:statusStable ; + skos:note "A data property linking a resource that contains a logical error (which results in it belonging to the class `owl:Nothing`, therefore making the model inconsistent) to a textual description of that error."@en . + diff --git a/docs/2026-09-25/error.xml b/docs/2026-09-25/error.xml new file mode 100644 index 0000000..11a8d0f --- /dev/null +++ b/docs/2026-09-25/error.xml @@ -0,0 +1,174 @@ + + + + + Error Ontology + Sebastian Barzaghi (https://orcid.org/0000-0002-0799-1527) + Silvio Peroni (https://orcid.org/0000-0003-0530-4305) + 2026-09-25 + +The **_Error Ontology_** is an unit test that allow to produce an inconsistent model if a particular (and incorrect) situation happens. + +![The main architecture of the Error Ontology.](error.png) + +It works by means of a data property `error:hasError` that denies its usage for ant resource. +In fact, by defining its domain as "all those resource that do not have any `hasErrorDescription` assertion", a resource that asserts having an error makes the ontology inconsistent. + +## Examples of use + +In the following subsections, we introduce some examples to showcase how to use the Error Ontology. + +The prefixes that are used in all the examples provided below are defined as follows: + + @prefix : <http://www.sparontologies.net/example/> . + @prefix error: <http://www.essepuntato.it/2009/10/error#> . + @prefix owl: <http://www.w3.org/2002/07/owl#> . + @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . + @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . + +### Flagging an erroneous resource + +A resource can be directly marked as erroneous by asserting a description of its error. +Since no resource can have any `error:hasError` assertion, a reasoner will classify it as a member of `owl:Nothing`, making the model inconsistent. + + :my-article a fabio:Article ; + error:hasError "The article has two different publication dates."^^xsd:string . + +### Defining a forbidden situation through a class axiom + +An incorrect situation can be modelled as a class whose members are automatically associated with an error description. +Any individual that falls in such a class makes the model inconsistent, and the error description explains why. + + :DraftAndPublishedDocument + owl:equivalentClass [ a owl:Class ; + owl:intersectionOf ( fabio:Manuscript fabio:JournalArticle ) ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty error:hasError ; + owl:hasValue "A document cannot be a draft and published at the same time."^^xsd:string ] . + + :my-document a fabio:Manuscript , + fabio:JournalArticle . + +## Competency Questions + +The Error Ontology can be used to produce an inconsistent model if a particular (and incorrect) situation happens. +In the following subsections, some competency questions are introduced together with their respective SPARQL queries. + +The prefixes that are used in all the SPARQL queries provided below are defined as follows: + + PREFIX error: <http://www.essepuntato.it/2009/10/error#> + PREFIX owl: <http://www.w3.org/2002/07/owl#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + +### CQ1 + +Which resources are explicitly asserted to have an error, and what is the description of that error? + + SELECT ?resource ?description WHERE { + ?resource error:hasError ?description . + } + +### CQ2 + +Which classes describe a forbidden situation, and what is the error description associated with their members? + + SELECT ?class ?description WHERE { + ?class rdfs:subClassOf ?restriction . + ?restriction a owl:Restriction ; + owl:onProperty error:hasError ; + owl:hasValue ?description . + } + +### CQ3 + +Does the dataset contain at least one resource with an error? + + ASK { + ?resource error:hasError ?description . + } + + + Ciccarese, P., & Peroni, S. (2014). The Collections Ontology: creating and handling collections in OWL 2 DL frameworks. Semantic Web, 5(6), 515-529. DOI: https://doi.org/10.3233/SW-130121. + The Error Ontology + 2010-11-29 + 2010-11-29 + + 2026-09-25 + + + TBA + + error + http://purl.org/spar/error + + + + + + + + errors + error descriptions + semantic publishing + +* **v1.0.1**: +Added new documentation, including annotation properties (e.g., `bibo:doi`, `schema:codeRepository`, etc.), term properties (e.g., `vann:example`, `vs:term_status`, etc.), exemplary competency questions with their respective SPARQL queries, and a Grafoo diagram. + + 1.0.1 + + + + + + + has error + A data property linking a resource that contains a logical error (which results in it belonging to the class owl:Nothing, therefore making the model inconsistent) to a textual description of that error. + A description, usually in natural language, of which kind of error results from a resource. + + + + :my-resource + error:hasError "This resource violates a constraint of the model."^^xsd:string . + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + diff --git a/docs/2026-09-25/resources/dc/creator.html b/docs/2026-09-25/resources/dc/creator.html new file mode 100644 index 0000000..87a080b --- /dev/null +++ b/docs/2026-09-25/resources/dc/creator.html @@ -0,0 +1,271 @@ +LODE 2.0 - Semantic Artefact Viewer

creator
ap

IRI: http://purl.org/dc/elements/1.1/creator

\ No newline at end of file diff --git a/docs/2026-09-25/resources/dc/creator.jsonld b/docs/2026-09-25/resources/dc/creator.jsonld new file mode 100644 index 0000000..b280028 --- /dev/null +++ b/docs/2026-09-25/resources/dc/creator.jsonld @@ -0,0 +1,8 @@ +[ + { + "@id": "http://purl.org/dc/elements/1.1/creator", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + } +] \ No newline at end of file diff --git a/docs/2026-09-25/resources/dc/creator.nt b/docs/2026-09-25/resources/dc/creator.nt new file mode 100644 index 0000000..9eb7465 --- /dev/null +++ b/docs/2026-09-25/resources/dc/creator.nt @@ -0,0 +1 @@ + . diff --git a/docs/2026-09-25/resources/dc/creator.rdf b/docs/2026-09-25/resources/dc/creator.rdf new file mode 100644 index 0000000..0cfc8ef --- /dev/null +++ b/docs/2026-09-25/resources/dc/creator.rdf @@ -0,0 +1,8 @@ + + + + + + diff --git a/docs/2026-09-25/resources/dc/creator.ttl b/docs/2026-09-25/resources/dc/creator.ttl new file mode 100644 index 0000000..03793a4 --- /dev/null +++ b/docs/2026-09-25/resources/dc/creator.ttl @@ -0,0 +1,5 @@ +@prefix dc: . +@prefix owl: . + +dc:creator a owl:AnnotationProperty . + diff --git a/docs/2026-09-25/resources/dc/date.html b/docs/2026-09-25/resources/dc/date.html new file mode 100644 index 0000000..7941cac --- /dev/null +++ b/docs/2026-09-25/resources/dc/date.html @@ -0,0 +1,271 @@ +LODE 2.0 - Semantic Artefact Viewer

date
ap

IRI: http://purl.org/dc/elements/1.1/date

\ No newline at end of file diff --git a/docs/2026-09-25/resources/dc/date.jsonld b/docs/2026-09-25/resources/dc/date.jsonld new file mode 100644 index 0000000..9632bfa --- /dev/null +++ b/docs/2026-09-25/resources/dc/date.jsonld @@ -0,0 +1,8 @@ +[ + { + "@id": "http://purl.org/dc/elements/1.1/date", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + } +] \ No newline at end of file diff --git a/docs/2026-09-25/resources/dc/date.nt b/docs/2026-09-25/resources/dc/date.nt new file mode 100644 index 0000000..a0c863f --- /dev/null +++ b/docs/2026-09-25/resources/dc/date.nt @@ -0,0 +1 @@ + . diff --git a/docs/2026-09-25/resources/dc/date.rdf b/docs/2026-09-25/resources/dc/date.rdf new file mode 100644 index 0000000..734e092 --- /dev/null +++ b/docs/2026-09-25/resources/dc/date.rdf @@ -0,0 +1,8 @@ + + + + + + diff --git a/docs/2026-09-25/resources/dc/date.ttl b/docs/2026-09-25/resources/dc/date.ttl new file mode 100644 index 0000000..3f2bc22 --- /dev/null +++ b/docs/2026-09-25/resources/dc/date.ttl @@ -0,0 +1,5 @@ +@prefix dc: . +@prefix owl: . + +dc:date a owl:AnnotationProperty . + diff --git a/docs/2026-09-25/resources/dc/description.html b/docs/2026-09-25/resources/dc/description.html new file mode 100644 index 0000000..030f72c --- /dev/null +++ b/docs/2026-09-25/resources/dc/description.html @@ -0,0 +1,271 @@ +LODE 2.0 - Semantic Artefact Viewer

description
ap

IRI: http://purl.org/dc/elements/1.1/description

\ No newline at end of file diff --git a/docs/2026-09-25/resources/dc/description.jsonld b/docs/2026-09-25/resources/dc/description.jsonld new file mode 100644 index 0000000..d5f2b33 --- /dev/null +++ b/docs/2026-09-25/resources/dc/description.jsonld @@ -0,0 +1,8 @@ +[ + { + "@id": "http://purl.org/dc/elements/1.1/description", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + } +] \ No newline at end of file diff --git a/docs/2026-09-25/resources/dc/description.nt b/docs/2026-09-25/resources/dc/description.nt new file mode 100644 index 0000000..6550dac --- /dev/null +++ b/docs/2026-09-25/resources/dc/description.nt @@ -0,0 +1 @@ + . diff --git a/docs/2026-09-25/resources/dc/description.rdf b/docs/2026-09-25/resources/dc/description.rdf new file mode 100644 index 0000000..704a9e7 --- /dev/null +++ b/docs/2026-09-25/resources/dc/description.rdf @@ -0,0 +1,8 @@ + + + + + + diff --git a/docs/2026-09-25/resources/dc/description.ttl b/docs/2026-09-25/resources/dc/description.ttl new file mode 100644 index 0000000..a3f3d0d --- /dev/null +++ b/docs/2026-09-25/resources/dc/description.ttl @@ -0,0 +1,5 @@ +@prefix dc: . +@prefix owl: . + +dc:description a owl:AnnotationProperty . + diff --git a/docs/2026-09-25/resources/dc/rights.html b/docs/2026-09-25/resources/dc/rights.html new file mode 100644 index 0000000..b3ba2f5 --- /dev/null +++ b/docs/2026-09-25/resources/dc/rights.html @@ -0,0 +1,271 @@ +LODE 2.0 - Semantic Artefact Viewer

rights
ap

IRI: http://purl.org/dc/elements/1.1/rights

\ No newline at end of file diff --git a/docs/2026-09-25/resources/dc/rights.jsonld b/docs/2026-09-25/resources/dc/rights.jsonld new file mode 100644 index 0000000..ce36d95 --- /dev/null +++ b/docs/2026-09-25/resources/dc/rights.jsonld @@ -0,0 +1,8 @@ +[ + { + "@id": "http://purl.org/dc/elements/1.1/rights", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + } +] \ No newline at end of file diff --git a/docs/2026-09-25/resources/dc/rights.nt b/docs/2026-09-25/resources/dc/rights.nt new file mode 100644 index 0000000..84ee758 --- /dev/null +++ b/docs/2026-09-25/resources/dc/rights.nt @@ -0,0 +1 @@ + . diff --git a/docs/2026-09-25/resources/dc/rights.rdf b/docs/2026-09-25/resources/dc/rights.rdf new file mode 100644 index 0000000..a374906 --- /dev/null +++ b/docs/2026-09-25/resources/dc/rights.rdf @@ -0,0 +1,8 @@ + + + + + + diff --git a/docs/2026-09-25/resources/dc/rights.ttl b/docs/2026-09-25/resources/dc/rights.ttl new file mode 100644 index 0000000..646942f --- /dev/null +++ b/docs/2026-09-25/resources/dc/rights.ttl @@ -0,0 +1,5 @@ +@prefix dc: . +@prefix owl: . + +dc:rights a owl:AnnotationProperty . + diff --git a/docs/2026-09-25/resources/dc/title.html b/docs/2026-09-25/resources/dc/title.html new file mode 100644 index 0000000..1877432 --- /dev/null +++ b/docs/2026-09-25/resources/dc/title.html @@ -0,0 +1,271 @@ +LODE 2.0 - Semantic Artefact Viewer

title
ap

IRI: http://purl.org/dc/elements/1.1/title

\ No newline at end of file diff --git a/docs/2026-09-25/resources/dc/title.jsonld b/docs/2026-09-25/resources/dc/title.jsonld new file mode 100644 index 0000000..7b57b4c --- /dev/null +++ b/docs/2026-09-25/resources/dc/title.jsonld @@ -0,0 +1,8 @@ +[ + { + "@id": "http://purl.org/dc/elements/1.1/title", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + } +] \ No newline at end of file diff --git a/docs/2026-09-25/resources/dc/title.nt b/docs/2026-09-25/resources/dc/title.nt new file mode 100644 index 0000000..448e56c --- /dev/null +++ b/docs/2026-09-25/resources/dc/title.nt @@ -0,0 +1 @@ + . diff --git a/docs/2026-09-25/resources/dc/title.rdf b/docs/2026-09-25/resources/dc/title.rdf new file mode 100644 index 0000000..fe87e3a --- /dev/null +++ b/docs/2026-09-25/resources/dc/title.rdf @@ -0,0 +1,8 @@ + + + + + + diff --git a/docs/2026-09-25/resources/dc/title.ttl b/docs/2026-09-25/resources/dc/title.ttl new file mode 100644 index 0000000..158290e --- /dev/null +++ b/docs/2026-09-25/resources/dc/title.ttl @@ -0,0 +1,5 @@ +@prefix dc: . +@prefix owl: . + +dc:title a owl:AnnotationProperty . + diff --git a/docs/2026-09-25/resources/error/hasError.html b/docs/2026-09-25/resources/error/hasError.html new file mode 100644 index 0000000..9ece3e9 --- /dev/null +++ b/docs/2026-09-25/resources/error/hasError.html @@ -0,0 +1,399 @@ +LODE 2.0 - Semantic Artefact Viewer

has error
dp

IRI: http://www.essepuntato.it/2009/10/error#hasError

comment
A description, usually in natural language, of which kind of error results from a resource. +
en
domain
exactly 0
range
string
is defined by
http://purl.org/spar/error/
label
has error
en
example
+ + :my-resource + error:hasError "This resource violates a constraint of the model."^^xsd:string . + +
note
+ A data property linking a resource that contains a logical error (which results in it belonging to the class owl:Nothing, therefore making the model inconsistent) to a textual description of that error. +
en
term status
\ No newline at end of file diff --git a/docs/2026-09-25/resources/error/hasError.jsonld b/docs/2026-09-25/resources/error/hasError.jsonld new file mode 100644 index 0000000..5a3a614 --- /dev/null +++ b/docs/2026-09-25/resources/error/hasError.jsonld @@ -0,0 +1,68 @@ +[ + { + "@id": "http://www.essepuntato.it/2009/10/error#hasError", + "@type": [ + "http://www.w3.org/2002/07/owl#DatatypeProperty" + ], + "http://purl.org/vocab/vann/example": [ + { + "@value": "\n :my-resource\n error:hasError \"This resource violates a constraint of the model.\"^^xsd:string .\n " + } + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "A description, usually in natural language, of which kind of error results from a resource." + } + ], + "http://www.w3.org/2000/01/rdf-schema#domain": [ + { + "@id": "_:n35f6366f7455428da85a75c459d5ca60b1" + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "http://purl.org/spar/error/" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "has error" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#string" + } + ], + "http://www.w3.org/2003/06/sw-vocab-status/ns#term_status": [ + { + "@id": "http://purl.org/linked-data/registry#statusStable" + } + ], + "http://www.w3.org/2004/02/skos/core#note": [ + { + "@language": "en", + "@value": "A data property linking a resource that contains a logical error (which results in it belonging to the class owl:Nothing, therefore making the model inconsistent) to a textual description of that error." + } + ] + }, + { + "@id": "_:n35f6366f7455428da85a75c459d5ca60b1", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" + ], + "http://www.w3.org/2002/07/owl#cardinality": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#nonNegativeInteger", + "@value": "0" + } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ + { + "@id": "http://www.essepuntato.it/2009/10/error#hasError" + } + ] + } +] \ No newline at end of file diff --git a/docs/2026-09-25/resources/error/hasError.nt b/docs/2026-09-25/resources/error/hasError.nt new file mode 100644 index 0000000..ec853ca --- /dev/null +++ b/docs/2026-09-25/resources/error/hasError.nt @@ -0,0 +1,12 @@ + . + . + "\n :my-resource\n error:hasError \"This resource violates a constraint of the model.\"^^xsd:string .\n " . + "A description, usually in natural language, of which kind of error results from a resource."@en . + . + _:n35f6366f7455428da85a75c459d5ca60b1 . + . +_:n35f6366f7455428da85a75c459d5ca60b1 . +_:n35f6366f7455428da85a75c459d5ca60b1 . + "A data property linking a resource that contains a logical error (which results in it belonging to the class owl:Nothing, therefore making the model inconsistent) to a textual description of that error."@en . + "has error"@en . +_:n35f6366f7455428da85a75c459d5ca60b1 "0"^^ . diff --git a/docs/2026-09-25/resources/error/hasError.rdf b/docs/2026-09-25/resources/error/hasError.rdf new file mode 100644 index 0000000..af432d0 --- /dev/null +++ b/docs/2026-09-25/resources/error/hasError.rdf @@ -0,0 +1,29 @@ + + + + + + + :my-resource + error:hasError "This resource violates a constraint of the model."^^xsd:string . + + A description, usually in natural language, of which kind of error results from a resource. + + + A data property linking a resource that contains a logical error (which results in it belonging to the class owl:Nothing, therefore making the model inconsistent) to a textual description of that error. + has error + + + + + 0 + + + diff --git a/docs/2026-09-25/resources/error/hasError.ttl b/docs/2026-09-25/resources/error/hasError.ttl new file mode 100644 index 0000000..f13a521 --- /dev/null +++ b/docs/2026-09-25/resources/error/hasError.ttl @@ -0,0 +1,24 @@ +@prefix error: . +@prefix owl: . +@prefix rdfs: . +@prefix reg: . +@prefix skos: . +@prefix vann: . +@prefix vs: . +@prefix xsd: . + +error:hasError a owl:DatatypeProperty ; + rdfs:label "has error"@en ; + vann:example """ + :my-resource + error:hasError "This resource violates a constraint of the model."^^xsd:string . + """ ; + rdfs:comment "A description, usually in natural language, of which kind of error results from a resource."@en ; + rdfs:domain [ a owl:Restriction ; + owl:cardinality "0"^^xsd:nonNegativeInteger ; + owl:onProperty error:hasError ] ; + rdfs:isDefinedBy ; + rdfs:range xsd:string ; + vs:term_status reg:statusStable ; + skos:note "A data property linking a resource that contains a logical error (which results in it belonging to the class owl:Nothing, therefore making the model inconsistent) to a textual description of that error."@en . + diff --git a/docs/2026-09-25/resources/owl/versionInfo.html b/docs/2026-09-25/resources/owl/versionInfo.html new file mode 100644 index 0000000..427c020 --- /dev/null +++ b/docs/2026-09-25/resources/owl/versionInfo.html @@ -0,0 +1,270 @@ +LODE 2.0 - Semantic Artefact Viewer

version info
ap

IRI: http://www.w3.org/2002/07/owl#versionInfo

\ No newline at end of file diff --git a/docs/2026-09-25/resources/owl/versionInfo.jsonld b/docs/2026-09-25/resources/owl/versionInfo.jsonld new file mode 100644 index 0000000..fc41b97 --- /dev/null +++ b/docs/2026-09-25/resources/owl/versionInfo.jsonld @@ -0,0 +1,8 @@ +[ + { + "@id": "http://www.w3.org/2002/07/owl#versionInfo", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + } +] \ No newline at end of file diff --git a/docs/2026-09-25/resources/owl/versionInfo.nt b/docs/2026-09-25/resources/owl/versionInfo.nt new file mode 100644 index 0000000..79defb8 --- /dev/null +++ b/docs/2026-09-25/resources/owl/versionInfo.nt @@ -0,0 +1 @@ + . diff --git a/docs/2026-09-25/resources/owl/versionInfo.rdf b/docs/2026-09-25/resources/owl/versionInfo.rdf new file mode 100644 index 0000000..de8df0a --- /dev/null +++ b/docs/2026-09-25/resources/owl/versionInfo.rdf @@ -0,0 +1,8 @@ + + + + + + diff --git a/docs/2026-09-25/resources/owl/versionInfo.ttl b/docs/2026-09-25/resources/owl/versionInfo.ttl new file mode 100644 index 0000000..33c572f --- /dev/null +++ b/docs/2026-09-25/resources/owl/versionInfo.ttl @@ -0,0 +1,4 @@ +@prefix owl: . + +owl:versionInfo a owl:AnnotationProperty . + diff --git a/docs/2026-09-25/resources/rdfs/comment.html b/docs/2026-09-25/resources/rdfs/comment.html new file mode 100644 index 0000000..3a509d9 --- /dev/null +++ b/docs/2026-09-25/resources/rdfs/comment.html @@ -0,0 +1,271 @@ +LODE 2.0 - Semantic Artefact Viewer

comment
ap

IRI: http://www.w3.org/2000/01/rdf-schema#comment

\ No newline at end of file diff --git a/docs/2026-09-25/resources/rdfs/comment.jsonld b/docs/2026-09-25/resources/rdfs/comment.jsonld new file mode 100644 index 0000000..1ceca72 --- /dev/null +++ b/docs/2026-09-25/resources/rdfs/comment.jsonld @@ -0,0 +1,8 @@ +[ + { + "@id": "http://www.w3.org/2000/01/rdf-schema#comment", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + } +] \ No newline at end of file diff --git a/docs/2026-09-25/resources/rdfs/comment.nt b/docs/2026-09-25/resources/rdfs/comment.nt new file mode 100644 index 0000000..f0a7390 --- /dev/null +++ b/docs/2026-09-25/resources/rdfs/comment.nt @@ -0,0 +1 @@ + . diff --git a/docs/2026-09-25/resources/rdfs/comment.rdf b/docs/2026-09-25/resources/rdfs/comment.rdf new file mode 100644 index 0000000..f52512c --- /dev/null +++ b/docs/2026-09-25/resources/rdfs/comment.rdf @@ -0,0 +1,8 @@ + + + + + + diff --git a/docs/2026-09-25/resources/rdfs/comment.ttl b/docs/2026-09-25/resources/rdfs/comment.ttl new file mode 100644 index 0000000..dcc745d --- /dev/null +++ b/docs/2026-09-25/resources/rdfs/comment.ttl @@ -0,0 +1,5 @@ +@prefix owl: . +@prefix rdfs: . + +rdfs:comment a owl:AnnotationProperty . + diff --git a/docs/2026-09-25/resources/rdfs/label.html b/docs/2026-09-25/resources/rdfs/label.html new file mode 100644 index 0000000..e73ad1a --- /dev/null +++ b/docs/2026-09-25/resources/rdfs/label.html @@ -0,0 +1,271 @@ +LODE 2.0 - Semantic Artefact Viewer

label
ap

IRI: http://www.w3.org/2000/01/rdf-schema#label

\ No newline at end of file diff --git a/docs/2026-09-25/resources/rdfs/label.jsonld b/docs/2026-09-25/resources/rdfs/label.jsonld new file mode 100644 index 0000000..2664fdd --- /dev/null +++ b/docs/2026-09-25/resources/rdfs/label.jsonld @@ -0,0 +1,8 @@ +[ + { + "@id": "http://www.w3.org/2000/01/rdf-schema#label", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + } +] \ No newline at end of file diff --git a/docs/2026-09-25/resources/rdfs/label.nt b/docs/2026-09-25/resources/rdfs/label.nt new file mode 100644 index 0000000..e259aca --- /dev/null +++ b/docs/2026-09-25/resources/rdfs/label.nt @@ -0,0 +1 @@ + . diff --git a/docs/2026-09-25/resources/rdfs/label.rdf b/docs/2026-09-25/resources/rdfs/label.rdf new file mode 100644 index 0000000..e041061 --- /dev/null +++ b/docs/2026-09-25/resources/rdfs/label.rdf @@ -0,0 +1,8 @@ + + + + + + diff --git a/docs/2026-09-25/resources/rdfs/label.ttl b/docs/2026-09-25/resources/rdfs/label.ttl new file mode 100644 index 0000000..e2a47bb --- /dev/null +++ b/docs/2026-09-25/resources/rdfs/label.ttl @@ -0,0 +1,5 @@ +@prefix owl: . +@prefix rdfs: . + +rdfs:label a owl:AnnotationProperty . + diff --git a/docs/2026-09-25/static/style.css b/docs/2026-09-25/static/style.css new file mode 100644 index 0000000..3cc988b --- /dev/null +++ b/docs/2026-09-25/static/style.css @@ -0,0 +1,901 @@ +/* ========================================================================== + LODE - style.css + Aligned with W3C TR 2021 base.css + https://www.w3.org/StyleSheets/TR/2021/base.css + +/* ========================================================================== + 0. DESIGN TOKENS + Colors definition. + ========================================================================== */ + +:root { + /* --- Primary Blue --- */ + --lode-blue: #034575; + --lode-blue-dark: #023154; + --lode-blue-tint: #e7eef7; + --lode-blue-pale: #f5f9fc; + --lode-blue-hairline: #d9e1ec; + + /* Heading */ + --lode-heading: var(--lode-blue); + + /* --- Link --- */ + --lode-link: #00C; + --lode-link-underline: #00C; + + /* --- Other neutrals --- */ + --lode-text: #000; + --lode-bg: #fff; + --lode-muted: #6c757d; + --lode-border: #ccc; + --lode-border-dashed: #b0bfcf; + --lode-surface: #f5f5f5; + --lode-surface-alt: #f9f9f9; + --lode-surface-block: #f2f3f4; + --lode-hairline: silver; + + /* --- Accent --- */ + --lode-yellow: #f5d815; + --lode-alert: #c00; + + /* --- Entity type colors (legacy LODE) --- */ + --lode-type-concept: orange; + --lode-type-relation: var(--lode-blue); + --lode-type-annotation: maroon; + --lode-type-individual: brown; + --lode-type-attribute: green; + --lode-type-language: slateblue; + --lode-type-logic: purple; + + /* --- Sidebar metrics --- */ + --toc-sidebar-w: 18rem; + --toc-sidebar-collapsed-w: 3.5rem; +} + + +/* ========================================================================== + 1. BASE TYPOGRAPHY + ========================================================================== */ + +body { + font-optical-sizing: auto; + font-weight: 400; + font-style: normal; + font-size: 1rem; + line-height: 1.5; + font-family: sans-serif; + color: var(--lode-text); + background-color: var(--lode-bg); +} + +/* --- Headings --- */ +h1, h2, h3, h4, h5, h6 { + text-align: left; + line-height: 1.2; +} + +h1, h2, h3 { color: var(--lode-heading); } + +h1 { font-size: 170%; } +h2 { font-size: 140%; } +h3 { font-size: 120%; } +h4 { font-weight: bold; } +h5 { font-style: italic; } + +h1.display-5 { + font-size: 170%; + border-bottom: 2px solid var(--lode-heading); + padding-bottom: 10px; +} + +/* --- Code: stack monospace --- */ +pre { + background-color: var(--lode-surface); + border: 1px dashed var(--lode-border-dashed); + padding: 0.75rem 1rem; + color: var(--lode-text); + font-family: Menlo, Consolas, "DejaVu Sans Mono", Monaco, monospace; + overflow-x: auto; + font-size: .9em; +} + +code, samp { + font-family: Menlo, Consolas, "DejaVu Sans Mono", Monaco, monospace; + font-size: .9em; + color: var(--lode-text); +} + +pre code { + background: none; + border: none; + padding: 0; + font-size: 100%; +} + +p { padding-bottom: 0.5rem; } + +/* --- Definition lists --- */ +dt { font-weight: bold; } +dd { margin: 0 0 .5em 2em; } + +/* --- Anchor offset per il salto ai frammenti --- */ +.anchor-offset { scroll-margin-top: 60px; } + +.section-header { + margin-top: 3rem; + margin-bottom: 1rem; + padding-bottom: 0.5rem; +} + + +/* ========================================================================== + 2. BOOTSTRAP FLATTENING + as W3C TR does not include border radius nor shadows + ========================================================================== */ + +.card, .btn, .alert, .form-control, .badge, .rounded, .rounded-pill { + border-radius: 0 !important; + box-shadow: none !important; +} + + +/* ========================================================================== + 3. ENTITY CARDS + ========================================================================== */ + +.card { + border: 1px solid var(--lode-blue-dark) !important; + margin-bottom: 20px; + background-color: var(--lode-bg); +} + +.card-header { + background-color: transparent !important; + border-bottom: 1px solid var(--lode-blue-dark) !important; + padding: 5px 8px !important; + margin: 0 2px !important; +} + +.card-header h4 { + font-size: 1.2rem; + display: inline-block; + margin-right: 10px; +} + +.card-body .row { margin: 0; } + +/* Risorse non ulteriormente classificate */ +.external-ref { + text-decoration: underline dotted; + text-decoration-thickness: 1px; + text-underline-offset: 2px; + cursor: help; + color: inherit; +} + +/* Entita definite nell'ontologia vs importate da vocabolari esterni */ +.entity-internal { color: var(--lode-blue); } +.entity-external { color: var(--lode-muted); } +.entity-external .bi { font-size: .75em; opacity: .7; } + + +/* ========================================================================== + 4. ENTITY TYPE COLOR CODING + ========================================================================== */ + +.badge { + background-color: transparent !important; + font-weight: normal; + font-size: 0.9em; + border: none !important; + padding: 0; +} + +.badge-type { font-size: 0.85em; } + +/* Concept */ +.c, +.text-info-emphasis { color: var(--lode-type-concept) !important; font-size: 0.8em; } + +/* Relation */ +.op { color: var(--lode-type-relation) !important; font-size: 0.8em !important; } + +/* Annotation */ +.an { color: var(--lode-type-annotation) !important; font-size: 0.8em !important; } + +/* Individual */ +.ni { color: var(--lode-type-individual) !important; font-size: 0.8em !important; } + +/* Attribute */ +.dp { color: var(--lode-type-attribute) !important; font-size: 0.8em !important; } + +/* Language tag */ +.lan { color: var(--lode-type-language) !important; font-size: 0.8em !important; } + + +/* ========================================================================== + 5. DEFINITION BLOCKS + ========================================================================== */ + +dt, .text-uppercase.fw-bold { + color: var(--lode-text) !important; + font-weight: bold !important; + text-transform: none !important; + margin-top: 5px; +} + +/* Blocchi relazioni: bordo tratteggiato LODE */ +.bg-light-subtle { + background-color: var(--lode-surface-block) !important; + border-top: 1px dashed var(--lode-hairline) !important; + border-bottom: 1px dashed var(--lode-hairline) !important; + border-radius: 0 !important; +} + +/* IRI inline */ +code.bg-light { + background-color: transparent !important; + color: var(--lode-text); + font-family: Menlo, Consolas, "DejaVu Sans Mono", Monaco, monospace; + border: none !important; + padding: 0 !important; + font-weight: normal !important; +} + +.list-unstyled li { margin-bottom: 4px; } + +/* Attributes section */ +.attribute { + border-left: 3px solid var(--lode-blue); +} + +/* Statement in Manchester-like syntax */ +.statement { + background-color: var(--lode-bg); + font-size: 0.92em; +} + +.logic, +.statement .logic { + color: var(--lode-type-logic); + font-weight: bold; +} + + +/* ========================================================================== + 6. BUTTONS + ========================================================================== */ + +.btn-outline-secondary, +.btn-outline-dark, +.btn-outline-primary { + border: 1px solid var(--lode-border) !important; + color: var(--lode-blue) !important; + background: var(--lode-surface-alt); + padding: 2px 8px; + font-size: 0.85rem; + margin-left: 5px; +} + +.btn:hover { + background: var(--lode-blue) !important; + color: var(--lode-bg) !important; +} + +.mt-3 a.btn { + border: none !important; + text-decoration: underline; +} + +.text-danger { color: var(--lode-alert); } + +.hide { display: none; } + + +/* ========================================================================== + 7. TOC INLINE + ========================================================================== */ + +.toc-card { + border: 1px solid var(--lode-blue-dark) !important; + border-left: 5px solid var(--lode-blue) !important; + background-color: var(--lode-blue-pale) !important; +} + +.toc-card .btn-outline-primary { + border: none !important; + background: transparent !important; + color: var(--lode-link) !important; + text-decoration: underline; + text-decoration-color: var(--lode-link-underline); + text-align: left; +} + +/* Ritorno all'indice */ +.backlink { + font-size: 10pt !important; + text-align: right !important; + float: right !important; + color: var(--lode-text) !important; + padding: 2px !important; + border: 1px dotted var(--lode-blue-dark) !important; + background-color: var(--lode-blue-pale) !important; +} + +.border-primary.border-top-4 { border-top: none !important; } + + +/* ========================================================================== + 8. TOC SIDEBAR + ========================================================================== */ + +body.toc-sidebar-open { margin-left: calc(var(--toc-sidebar-w) + 1rem); } +body.toc-sidebar-closed { margin-left: 5rem; } + +.toc-sidebar { + position: fixed; + top: 0; left: 0; bottom: 0; + width: var(--toc-sidebar-w); + border-right: 2px solid var(--lode-blue-dark); + z-index: 1030; + display: flex; + flex-direction: column; + transition: transform .2s ease, width .2s ease; +} + +.toc-sidebar.closed { width: var(--toc-sidebar-collapsed-w); } +.toc-sidebar.closed .toc-sidebar-inner { display: none; } + +/* Logo nella sidebar chiusa */ +.toc-sidebar.closed::before { + content: ""; + position: absolute; + bottom: 1rem; + left: 0; right: 0; + height: 10rem; + background-image: url('https://www.essepuntato.it/assets/img/lode/LODELogo.png'); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + pointer-events: none; +} + +.toc-sidebar-inner { + flex: 1 1 auto; + overflow-y: auto; + padding: 1rem .75rem 2rem .75rem; +} + +.toc-sidebar-header { + padding: .25rem .25rem .75rem .25rem; + border-bottom: 1px solid var(--lode-blue-hairline); + margin-bottom: .5rem; +} + +.toc-sidebar-title { + color: var(--lode-blue) !important; + font-size: .85rem; + font-weight: 700; + text-transform: uppercase; + letter-spacing: .04em; +} + +.toc-sidebar-toggle { + position: absolute; + top: .5rem; + right: -1.6rem; + width: 1.6rem; + height: 1.6rem; + border: 1px solid var(--lode-blue-dark); + background: var(--lode-bg); + color: var(--lode-blue); + font-weight: 700; + line-height: 1; + cursor: pointer; + z-index: 2; + display: flex; + align-items: center; + justify-content: center; +} +.toc-sidebar-toggle:hover { background: var(--lode-blue); color: var(--lode-bg); } + +.toc-sidebar-nav { font-size: .9rem; } + +/* --- Collapse sections --- */ +.toc-sidebar-section { margin-bottom: .25rem; } +.toc-sidebar-section[open] > .toc-sidebar-section-head { color: var(--lode-blue); } + +.toc-sidebar-section-head { + list-style: none; + cursor: pointer; + padding: .3rem .25rem; + display: flex; + align-items: center; + justify-content: space-between; + gap: .5rem; + font-weight: 600; + color: var(--lode-text); +} +.toc-sidebar-section-head::-webkit-details-marker { display: none; } +.toc-sidebar-section-head::before { + content: "\25B8"; + color: var(--lode-muted); + font-size: .7rem; + margin-right: .15rem; + transition: transform .15s ease; + display: inline-block; +} +.toc-sidebar-section[open] > .toc-sidebar-section-head::before { transform: rotate(90deg); } + +.toc-sidebar-section-title { flex: 1 1 auto; min-width: 0; } +.toc-sidebar-section-title a { color: inherit; text-decoration: none; } +.toc-sidebar-section-title a:hover { text-decoration: underline; } + +.toc-sidebar-section-count { + background: var(--lode-blue-tint); + color: var(--lode-blue); + padding: 0 .45rem; + font-size: .72rem; + font-weight: 700; + min-width: 1.6rem; + text-align: center; +} + +/* --- Lists --- */ +.toc-sidebar-list { + list-style: none; + padding: .15rem 0 .35rem .9rem; + margin: 0 0 0 .35rem; + border-left: 1px dashed var(--lode-blue-hairline); +} +.toc-sidebar-list li { margin: 0; } +.toc-sidebar-list a { + display: block; + color: var(--lode-text); + text-decoration: none; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + font-size: .85rem; +} +.toc-sidebar-list a:hover { background: var(--lode-blue-tint); color: var(--lode-blue); } +.toc-sidebar-list a.active { background: var(--lode-blue); color: var(--lode-bg); } + +/* --- Albero gerarchico --- */ +.toc-tree-root, +.toc-tree-children { + list-style: none; + margin: 0; + padding-left: .9rem; + border-left: 1px dashed var(--lode-blue-hairline); +} +.toc-tree-root { + margin-left: .35rem; + padding-top: .15rem; + padding-bottom: .35rem; +} +.toc-tree-children { + margin-left: .15rem; + padding-top: .1rem; +} + +.toc-node { margin: 0; } + +.toc-tree-branch > .toc-tree-summary, +.toc-tree-leaf { + display: block; + padding: .15rem .4rem; + color: var(--lode-text); + text-decoration: none; + font-size: .85rem; + cursor: pointer; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.toc-tree-branch > .toc-tree-summary { + list-style: none; + position: relative; + padding-left: 1rem; +} +.toc-tree-branch > .toc-tree-summary::-webkit-details-marker { display: none; } +.toc-tree-branch > .toc-tree-summary::before { + content: "\25B8"; + position: absolute; + left: .15rem; + top: 50%; + transform: translateY(-50%); + color: var(--lode-muted); + font-size: .65rem; + transition: transform .15s ease; +} +.toc-tree-branch[open] > .toc-tree-summary::before { transform: translateY(-50%) rotate(90deg); } + +.toc-tree-branch > .toc-tree-summary a { color: var(--lode-text); text-decoration: none; } +.toc-tree-leaf { padding-left: 1rem; } + +.toc-tree-branch > .toc-tree-summary:hover, +.toc-tree-leaf:hover { + background: var(--lode-blue-tint); + color: var(--lode-blue); +} + +.toc-tree-branch > .toc-tree-summary a.active, +.toc-tree-leaf.active { + background: var(--lode-blue); + color: var(--lode-bg); +} + +/* --- Sidebar: nascosta sotto 992px --- */ +@media (max-width: 991.98px) { + #toc-sidebar, + #toc-sidebar .toc-sidebar-toggle { display: none !important; } + body.toc-sidebar-open, + body.toc-sidebar-closed { + margin-left: 0 !important; + padding-left: 0 !important; + } +} + +/* --- Mobile: slide-over --- */ +@media (max-width: 768px) { + body.toc-sidebar-open, + body.toc-sidebar-closed { margin-left: 1rem; } + .toc-sidebar { box-shadow: 4px 0 12px rgba(0,0,0,.12); } + .toc-sidebar.closed { + transform: translateX(calc(-1 * var(--toc-sidebar-w))); + width: var(--toc-sidebar-w); + } + .toc-sidebar.closed .toc-sidebar-inner { display: block; } + .toc-sidebar.closed .toc-sidebar-toggle { right: -2rem; } +} + + +/* ========================================================================== + 9. FLOATING SEARCH + ========================================================================== */ + +.toc-float-search { + position: fixed; + top: 50%; + right: 1.5rem; + transform: translateY(-50%); + z-index: 1050; + display: flex; + align-items: center; +} + +.toc-float-search-toggle { + width: 42px; + height: 42px; + border-radius: 50%; + border: 1px solid var(--lode-blue-dark); + background: var(--lode-bg); + color: var(--lode-blue); + box-shadow: 0 1px 4px rgba(0,0,0,0.2); + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; +} + +.toc-float-search-panel { + display: flex; + align-items: center; + gap: 0.4rem; + width: 0; + opacity: 0; + overflow: hidden; + transition: width 0.2s ease, opacity 0.2s ease; +} + +.toc-float-search.open .toc-float-search-panel { + width: 320px; + opacity: 1; + margin-right: 0.5rem; +} + +.toc-float-search-input { + border: 1px solid var(--lode-border); + border-radius: 4px; + padding: 6px 10px; + font-size: 0.85rem; + flex: 1 1 auto; + min-width: 0; +} + +.toc-float-search-count { + font-size: 0.8rem; + color: var(--lode-muted); + min-width: 2.5rem; + text-align: center; +} + +.toc-float-search-nav { + width: 28px; + height: 28px; + border: 1px solid var(--lode-border); + background: var(--lode-bg); + color: var(--lode-blue); + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; +} + +.toc-search-dim { opacity: 0.35; } + +.toc-search-current { + outline: 3px solid var(--lode-blue); + outline-offset: 2px; +} + + +/* ========================================================================== + 10. SINGLE RESOURCE FRONTMATTER + ========================================================================== */ + +.resource-frontmatter { + border-bottom: 1px solid var(--lode-border); + padding-bottom: .75rem; + margin-bottom: .5rem; +} + +.resource-title { + color: var(--lode-heading); + font-weight: 700; + font-size: 170%; + padding: 0; + margin: 0; +} + +.resource-subtitle { + color: var(--lode-text); + font-style: italic; + font-size: 105%; + font-weight: 400; + margin: 0; + padding: 0; +} + +.resource-subtitle-ontology { + font-style: normal; + font-weight: 600; + color: var(--lode-heading); +} + +.resource-meta-line { + display: flex; + align-items: center; + gap: .5rem; + font-size: .85rem; + color: var(--lode-muted); +} + +.resource-meta-uri { max-width: 60%; } + +.resource-meta-link { + color: var(--lode-link) !important; + text-decoration: none !important; +} +.resource-meta-link:hover { + text-decoration: underline !important; + text-decoration-thickness: 2px !important; +} + +/* --- Accordion metadata --- */ +.metadata-accordion-summary { + cursor: pointer; + list-style: none; +} +.metadata-accordion-summary::-webkit-details-marker { display: none; } + +.metadata-accordion-toggle { + display: inline-flex; + align-items: center; + gap: .35rem; + margin-left: auto; /* allinea a destra, come i controlli W3C */ + border: 1px solid var(--lode-border); + background: var(--lode-surface-alt); + color: var(--lode-blue); + font-size: .85rem; + cursor: pointer; +} +.metadata-accordion-toggle:hover { + background: var(--lode-blue); + color: var(--lode-bg); +} +.metadata-accordion-toggle i { transition: transform .2s ease; } +.metadata-accordion[open] .metadata-accordion-toggle i { transform: rotate(180deg); } + + +/* ========================================================================== + 11. RDF PROVENANCE ACCORDION + ========================================================================== */ + +.prov-accordion .accordion-button { + background: transparent; + box-shadow: none; + border-radius: 0; + color: var(--lode-blue); +} +.prov-accordion .accordion-button:hover { + background: var(--lode-link-hover-bg); +} +.prov-accordion .accordion-button:not(.collapsed) { + background: var(--lode-blue-tint); + color: var(--lode-blue); + box-shadow: none; +} +.prov-accordion .accordion-button:focus { box-shadow: none; } + +/* Via la freccia di default di Bootstrap */ +.prov-accordion .accordion-button::after { display: none; } + +.prov-accordion .accordion-button i { transition: transform 0.2s ease; } +.prov-accordion .accordion-button:not(.collapsed) i { transform: rotate(90deg); } + + +/* ========================================================================== + 12. MARKDOWN RENDERING + ========================================================================== */ + +.inline-markdown > *:last-child { + display: block !important; + margin-bottom: 0 !important; +} + +.inline-markdown > *:last-child:not(pre) { + display: inline !important; + margin-bottom: 0 !important; +} + +.markdown-with-badge { display: inline !important; } +.markdown-with-badge:has(pre) { display: block !important; } + +/* I blocchi pre devono restare block anche dentro le card */ +.markdown-with-badge pre, +.inline-markdown pre { + display: block !important; + width: 100%; + white-space: pre; +} + +.markdown-with-badge p { margin-bottom: 0; } +.markdown-with-badge p:last-child { + display: inline !important; + margin-bottom: 0 !important; +} + +/* Rientro liste: i bullet non devono toccare il bordo sinistro */ +.render-markdown ul, +.render-markdown ol { + padding-left: 1.5rem !important; + margin-bottom: 0.5rem; +} + +/* Se l'ultimo elemento e' una lista, la lista va in linea */ +.markdown-with-badge ul:last-child, +.markdown-with-badge ol:last-child { + display: inline !important; + margin-bottom: 0 !important; + padding-left: 0 !important; +} + +.markdown-with-badge ul:last-child > li:last-child, +.markdown-with-badge ol:last-child > li:last-child { + display: inline !important; +} + +.markdown-with-badge ul:last-child > li, +.markdown-with-badge ol:last-child > li { + list-style-type: none !important; +} + +/* Ridisegno del bullet per l'elemento reso inline */ +.markdown-with-badge ul:last-child > li::before { + content: "\2022"; + padding-right: 10px; + margin-left: 0.65rem; + font-size: 1.2em; + line-height: 0; + vertical-align: middle; +} + + +/* ========================================================================== + 13. INDEX PAGE + Submission form, toggle url/file, button pill. + ========================================================================== */ + +.submission-form-container { + border-bottom: 2px solid var(--lode-blue-dark); + padding: 2rem 4rem 2rem 6rem; +} + +.button { + display: inline-block; + padding: .65rem 1.6rem; + border: 2px solid var(--lode-blue); + border-radius: 50px; + background: var(--lode-bg); + color: var(--lode-blue); + font-size: 1rem; + font-weight: 600; + line-height: 1.5; + text-align: center; + text-decoration: none; + cursor: pointer; + transition: background-color .15s ease, color .15s ease; +} + +.button:hover, +.button:focus-visible { + background: var(--lode-blue); + color: var(--lode-bg); +} + +.button:active { + background: var(--lode-yellow); + border-color: var(--lode-blue); + color: var(--lode-text); +} + +.button:focus-visible { + outline: 2px solid var(--lode-blue); + outline-offset: 2px; +} + +.button:disabled { + border-color: var(--lode-border); + background: var(--lode-bg); + color: var(--lode-muted); + cursor: not-allowed; +} + +.info-icon { + cursor: pointer; + color: var(--lode-alert); + font-size: 1.1rem; +} +.info-icon:hover { color: var(--lode-blue-dark); } + +/* --- Toggle url / file --- */ +.toggle-switch { + position: relative; + display: inline-block; + background: var(--lode-bg); + border: 2px solid var(--lode-blue); + border-radius: 50px; + overflow: hidden; + cursor: pointer; + user-select: none; + padding: 0; +} + +.toggle-option { + display: inline-block; + padding: 8px 24px; + font-size: 14px; + font-weight: 500; + transition: color 0.3s ease; + position: relative; + z-index: 2; +} + +.toggle-option.inactive { color: var(--lode-blue); opacity: 0.5; } +.toggle-option.active { color: var(--lode-text); } + +.toggle-slider { + position: absolute; + top: 0; + bottom: 0; + background: var(--lode-yellow); + border-radius: 50px; + transition: left 0.3s ease; + z-index: 1; +} + +.toggle-slider.url-mode { left: 0; width: 50%; } +.toggle-slider.file-mode { left: 50%; width: 50%; } \ No newline at end of file