Type object
File match *.specif *.specif.json
Schema URL https://catalog.lintel.tools/schemas/schemastore/specif/latest.json
Source https://www.schemastore.org/specif-1.1.json

Versions

Validate with Lintel

npx @lintel/lintel check
Type: object

The Specification Integration Facility (SpecIF) integrates partial system models from different methods and tools in a semantic net. Collaborators shall browse, search and audit engineering results in a common context. Also, the exchange of model information between organizations and tools is facilitated. SpecIF represents the visible, i.e. the diagrams and the text, as well as the semantics of system specifications.

Properties

$schema string required

An absolute URL pointing to this SpecIF schema. Supports both specif.de and schemastore.org.

format=uripattern=^https?:\/\/(specif\.de\/v1\.1\/schema|json\.schemastore\.org\/specif-1\.1)\.json$
id string required

A globally unique identifier.

pattern=^[_a-zA-Z]{1}[_a-zA-Z0-9.-]*$
dataTypes SpecifDataType[] required

The base data types for use by property class definitions.

uniqueItems=true
propertyClasses SpecifPropertyClass[] required

Class definition of a property for resources or statements. Is a sub-element of the respective resourceClass or statementClass. If no revision or change information is specified, the respective values of the parent element apply.

uniqueItems=true
resourceClasses SpecifResourceClass[] required

The class definitions for resources.

uniqueItems=true
statementClasses SpecifStatementClass[] required

The class definitions for statements in subject-predicate-object statements, where subject and object are resources.

uniqueItems=true
resources SpecifResource[] required

The resources such as diagrams, model elements or requirements.

uniqueItems=true
statements SpecifStatement[] required

Subject-predicate-Object statements, where subject and object are resources. In other terms, statements are directed relations between two resources building a semantic net.

uniqueItems=true
hierarchies SpecifNode[] required

A list of pointers to resources; may be nested forming a tree, i.e. a hierarchy of pointers.

uniqueItems=true
revision string

A globally unique revision tag with one or multiple blocks with alphanumeric characters separated by a special character [.:,;/-]. Sequential as well as branching/merging notations are possible.

pattern=^(?:[0-9a-zA-Z]+[.:,;/-])*[0-9a-zA-Z]+$
title object[]

A list of items with text and language properties. If the information is be provided in multiple languages, the language must be specified for proper selection; it is however not required by the schema to avoid a lot of overhead in most cases with a single language.

uniqueItems=true
description object[]

A list of items with text and language properties. If the information is be provided in multiple languages, the language must be specified for proper selection; it is however not required by the schema to avoid a lot of overhead in most cases with a single language.

uniqueItems=true
isExtension boolean

Indicates that the project is not schema-compliant on its own; by default the value is 'false'. Of course, it is expected that once extended the project is schema-compliant.

generator string
generatorVersion string
rights object
2 nested properties
title string required
url string required
format=uri
createdAt string

An ISO-8601 dateTime string. For reduced accuracy, any number of values may be dropped, but only from right to left.

format=date-time
createdBy object

The creator of the SpecIF data-set (file). If specified, at least an e-mail address must be given.

4 nested properties
email string required
format=email
familyName string
givenName string
org object
1 nested properties
organizationName string required
language string

An IETF language tag such as 'en', 'en-US, 'fr' or 'de' showing the used language of the project. Is superseded by a resource's, statement's or property's language value. By default, 'en' is assumed.

files SpecifFile[]

A list of files being referenced by a resource's or statement's property of dataType XHTML using an tag. A file should have a media type as defined by IANA (see below).

uniqueItems=true

Definitions

SpecifId string

A globally unique identifier.

SpecifAlternativeId object

A list of pointers to resources resp. statements which have been merged to this one.

id string required

A globally unique identifier.

pattern=^[_a-zA-Z]{1}[_a-zA-Z0-9.-]*$
revision string

A globally unique revision tag with one or multiple blocks with alphanumeric characters separated by a special character [.:,;/-]. Sequential as well as branching/merging notations are possible.

pattern=^(?:[0-9a-zA-Z]+[.:,;/-])*[0-9a-zA-Z]+$
project string

A globally unique identifier.

pattern=^[_a-zA-Z]{1}[_a-zA-Z0-9.-]*$
SpecifAlternativeIds SpecifAlternativeId[]

The list of consolidated items to be used in case a consolidated item shall be updated.

SpecifRevision string

A globally unique revision tag with one or multiple blocks with alphanumeric characters separated by a special character [.:,;/-]. Sequential as well as branching/merging notations are possible.

SpecifReplaces SpecifRevision[]

For change and configuration management; the first revision has 0 entries, a simple modification has 1 entry and the result of a merge has 2 entries.

SpecifKey object

A key for a particular revision of an identifiable item, e.g. of a resource. A key consists of a globally unique identifier and a revision. No or an undefined revision means the latest revision of the identified item.

id string required

A globally unique identifier.

pattern=^[_a-zA-Z]{1}[_a-zA-Z0-9.-]*$
revision string

A globally unique revision tag with one or multiple blocks with alphanumeric characters separated by a special character [.:,;/-]. Sequential as well as branching/merging notations are possible.

pattern=^(?:[0-9a-zA-Z]+[.:,;/-])*[0-9a-zA-Z]+$
SpecifKeys SpecifKey[]

A list of keys referencing items such as propertyClasses, resourceClasses or statementClasses; any list must have >0 entries including those of any parent element.

SpecifRights object
title string required
url string required
format=uri
SpecifOrg object
organizationName string required
SpecifCreatedBy object

The creator of the SpecIF data-set (file). If specified, at least an e-mail address must be given.

email string required
format=email
familyName string
givenName string
org object
1 nested properties
organizationName string required
SpecifText string

A good class name indicates it's role. The use of a vocabulary-term is recommended, which in turn can be translated to any natural or domain language.

SpecifTextFormat string
SpecifMultiLanguageText object[]

A list of items with text and language properties. If the information is be provided in multiple languages, the language must be specified for proper selection; it is however not required by the schema to avoid a lot of overhead in most cases with a single language.

SpecifValue string | SpecifMultiLanguageText
SpecifValues SpecifValue[]

If 'multiple' of the propertyClass is undefined or false, the array must contain one item. If the value is unknown, omit the whole property. By default, the class' value applies.

SpecifEnumeratedValue object
id string required

A globally unique identifier.

pattern=^[_a-zA-Z]{1}[_a-zA-Z0-9.-]*$
value string | SpecifMultiLanguageText required
SpecifEnumeratedValues SpecifEnumeratedValue[]

Enumerated values for the given dataType. If 'multiple' is true 0..n options may be selected, otherwise exactly one must be selected.

SpecifDateTime string

An ISO-8601 dateTime string. For reduced accuracy, any number of values may be dropped, but only from right to left.

SpecifIcon string

A symbol for display as a prefix to titles; applicable to all instances of the class. Is usually a XML-encoded UTF-8 symbol, can be an URL or dataURL.

SpecifInstantiation string[]

Indicates whether an instance of the class is created automatically, manually or both. All is allowed, if the property is omitted. The class is abstract and cannot be instantiated, if the property list is present, but empty.

SpecifDataType object | object | object | object | object
SpecifPropertyClass object
id string required

A globally unique identifier.

pattern=^[_a-zA-Z]{1}[_a-zA-Z0-9.-]*$
title string required

A good class name indicates it's role. The use of a vocabulary-term is recommended, which in turn can be translated to any natural or domain language.

dataType object required

A key for a particular revision of an identifiable item, e.g. of a resource. A key consists of a globally unique identifier and a revision. No or an undefined revision means the latest revision of the identified item.

2 nested properties
id string required

A globally unique identifier.

pattern=^[_a-zA-Z]{1}[_a-zA-Z0-9.-]*$
revision string

A globally unique revision tag with one or multiple blocks with alphanumeric characters separated by a special character [.:,;/-]. Sequential as well as branching/merging notations are possible.

pattern=^(?:[0-9a-zA-Z]+[.:,;/-])*[0-9a-zA-Z]+$
changedAt string required

An ISO-8601 dateTime string. For reduced accuracy, any number of values may be dropped, but only from right to left.

format=date-time
description object[]

A list of items with text and language properties. If the information is be provided in multiple languages, the language must be specified for proper selection; it is however not required by the schema to avoid a lot of overhead in most cases with a single language.

uniqueItems=true
multiple boolean

Optional use by all propertyClasses. Indicates whether multiple values can be given. If omitted, the 'multiple' property of the dataType applies; by default the value is 'false'.

values SpecifValue[]

If 'multiple' of the propertyClass is undefined or false, the array must contain one item. If the value is unknown, omit the whole property. By default, the class' value applies.

minItems=1uniqueItems=true
format string
Values: "plain" "xhtml"
unit string

The unit of a property's numeric value; preferably an SI unit symbol such as 'm^3/kg' (Système international (d'unités)) or a currency symbol.

revision string

A globally unique revision tag with one or multiple blocks with alphanumeric characters separated by a special character [.:,;/-]. Sequential as well as branching/merging notations are possible.

pattern=^(?:[0-9a-zA-Z]+[.:,;/-])*[0-9a-zA-Z]+$
replaces SpecifRevision[]

For change and configuration management; the first revision has 0 entries, a simple modification has 1 entry and the result of a merge has 2 entries.

maxItems=2uniqueItems=true
changedBy string
SpecifResourceClass object
id string required

A globally unique identifier.

pattern=^[_a-zA-Z]{1}[_a-zA-Z0-9.-]*$
title string required

A good class name indicates it's role. The use of a vocabulary-term is recommended, which in turn can be translated to any natural or domain language.

propertyClasses SpecifKey[] required

A list of keys referencing items such as propertyClasses, resourceClasses or statementClasses; any list must have >0 entries including those of any parent element.

uniqueItems=true
changedAt string required

An ISO-8601 dateTime string. For reduced accuracy, any number of values may be dropped, but only from right to left.

format=date-time
description object[]

A list of items with text and language properties. If the information is be provided in multiple languages, the language must be specified for proper selection; it is however not required by the schema to avoid a lot of overhead in most cases with a single language.

uniqueItems=true
extends object

A key for a particular revision of an identifiable item, e.g. of a resource. A key consists of a globally unique identifier and a revision. No or an undefined revision means the latest revision of the identified item.

2 nested properties
id string required

A globally unique identifier.

pattern=^[_a-zA-Z]{1}[_a-zA-Z0-9.-]*$
revision string

A globally unique revision tag with one or multiple blocks with alphanumeric characters separated by a special character [.:,;/-]. Sequential as well as branching/merging notations are possible.

pattern=^(?:[0-9a-zA-Z]+[.:,;/-])*[0-9a-zA-Z]+$
icon string

A symbol for display as a prefix to titles; applicable to all instances of the class. Is usually a XML-encoded UTF-8 symbol, can be an URL or dataURL.

isHeading boolean
instantiation string[]

Indicates whether an instance of the class is created automatically, manually or both. All is allowed, if the property is omitted. The class is abstract and cannot be instantiated, if the property list is present, but empty.

uniqueItems=true
revision string

A globally unique revision tag with one or multiple blocks with alphanumeric characters separated by a special character [.:,;/-]. Sequential as well as branching/merging notations are possible.

pattern=^(?:[0-9a-zA-Z]+[.:,;/-])*[0-9a-zA-Z]+$
replaces SpecifRevision[]

For change and configuration management; the first revision has 0 entries, a simple modification has 1 entry and the result of a merge has 2 entries.

maxItems=2uniqueItems=true
changedBy string
SpecifStatementClass object
id string required

A globally unique identifier.

pattern=^[_a-zA-Z]{1}[_a-zA-Z0-9.-]*$
title string required

A good class name indicates it's role. The use of a vocabulary-term is recommended, which in turn can be translated to any natural or domain language.

changedAt string required

An ISO-8601 dateTime string. For reduced accuracy, any number of values may be dropped, but only from right to left.

format=date-time
description object[]

A list of items with text and language properties. If the information is be provided in multiple languages, the language must be specified for proper selection; it is however not required by the schema to avoid a lot of overhead in most cases with a single language.

uniqueItems=true
extends object

A key for a particular revision of an identifiable item, e.g. of a resource. A key consists of a globally unique identifier and a revision. No or an undefined revision means the latest revision of the identified item.

2 nested properties
id string required

A globally unique identifier.

pattern=^[_a-zA-Z]{1}[_a-zA-Z0-9.-]*$
revision string

A globally unique revision tag with one or multiple blocks with alphanumeric characters separated by a special character [.:,;/-]. Sequential as well as branching/merging notations are possible.

pattern=^(?:[0-9a-zA-Z]+[.:,;/-])*[0-9a-zA-Z]+$
icon string

A symbol for display as a prefix to titles; applicable to all instances of the class. Is usually a XML-encoded UTF-8 symbol, can be an URL or dataURL.

instantiation string[]

Indicates whether an instance of the class is created automatically, manually or both. All is allowed, if the property is omitted. The class is abstract and cannot be instantiated, if the property list is present, but empty.

uniqueItems=true
isUndirected boolean

Indicates that an instance's subject and object are equivalent and can be exchanged without change in meaning.

propertyClasses SpecifKey[]

A list of keys referencing items such as propertyClasses, resourceClasses or statementClasses; any list must have >0 entries including those of any parent element.

uniqueItems=true
subjectClasses SpecifKey[]

A list of keys referencing items such as propertyClasses, resourceClasses or statementClasses; any list must have >0 entries including those of any parent element.

uniqueItems=true
objectClasses SpecifKey[]

A list of keys referencing items such as propertyClasses, resourceClasses or statementClasses; any list must have >0 entries including those of any parent element.

uniqueItems=true
revision string

A globally unique revision tag with one or multiple blocks with alphanumeric characters separated by a special character [.:,;/-]. Sequential as well as branching/merging notations are possible.

pattern=^(?:[0-9a-zA-Z]+[.:,;/-])*[0-9a-zA-Z]+$
replaces SpecifRevision[]

For change and configuration management; the first revision has 0 entries, a simple modification has 1 entry and the result of a merge has 2 entries.

maxItems=2uniqueItems=true
changedBy string
SpecifProperty object
class object required

A key for a particular revision of an identifiable item, e.g. of a resource. A key consists of a globally unique identifier and a revision. No or an undefined revision means the latest revision of the identified item.

2 nested properties
id string required

A globally unique identifier.

pattern=^[_a-zA-Z]{1}[_a-zA-Z0-9.-]*$
revision string

A globally unique revision tag with one or multiple blocks with alphanumeric characters separated by a special character [.:,;/-]. Sequential as well as branching/merging notations are possible.

pattern=^(?:[0-9a-zA-Z]+[.:,;/-])*[0-9a-zA-Z]+$
values SpecifValue[] required

If 'multiple' of the propertyClass is undefined or false, the array must contain one item. If the value is unknown, omit the whole property. By default, the class' value applies.

minItems=1uniqueItems=true
SpecifProperties SpecifProperty[]

A list of properties of a resource or statement; the number of properties including any parent's properties must be >0.

SpecifResource object
id string required

A globally unique identifier.

pattern=^[_a-zA-Z]{1}[_a-zA-Z0-9.-]*$
class object required

A key for a particular revision of an identifiable item, e.g. of a resource. A key consists of a globally unique identifier and a revision. No or an undefined revision means the latest revision of the identified item.

2 nested properties
id string required

A globally unique identifier.

pattern=^[_a-zA-Z]{1}[_a-zA-Z0-9.-]*$
revision string

A globally unique revision tag with one or multiple blocks with alphanumeric characters separated by a special character [.:,;/-]. Sequential as well as branching/merging notations are possible.

pattern=^(?:[0-9a-zA-Z]+[.:,;/-])*[0-9a-zA-Z]+$
properties SpecifProperty[] required

A list of properties of a resource or statement; the number of properties including any parent's properties must be >0.

uniqueItems=true
changedAt string required

An ISO-8601 dateTime string. For reduced accuracy, any number of values may be dropped, but only from right to left.

format=date-time
alternativeIds SpecifAlternativeId[]

The list of consolidated items to be used in case a consolidated item shall be updated.

uniqueItems=true
language string

An IETF language tag such as 'en', 'en-US, 'fr' or 'de' showing the used language of the resource. Is superseded by a property's language value.

revision string

A globally unique revision tag with one or multiple blocks with alphanumeric characters separated by a special character [.:,;/-]. Sequential as well as branching/merging notations are possible.

pattern=^(?:[0-9a-zA-Z]+[.:,;/-])*[0-9a-zA-Z]+$
replaces SpecifRevision[]

For change and configuration management; the first revision has 0 entries, a simple modification has 1 entry and the result of a merge has 2 entries.

maxItems=2uniqueItems=true
changedBy string
SpecifStatement object
id string required

A globally unique identifier.

pattern=^[_a-zA-Z]{1}[_a-zA-Z0-9.-]*$
class object required

A key for a particular revision of an identifiable item, e.g. of a resource. A key consists of a globally unique identifier and a revision. No or an undefined revision means the latest revision of the identified item.

2 nested properties
id string required

A globally unique identifier.

pattern=^[_a-zA-Z]{1}[_a-zA-Z0-9.-]*$
revision string

A globally unique revision tag with one or multiple blocks with alphanumeric characters separated by a special character [.:,;/-]. Sequential as well as branching/merging notations are possible.

pattern=^(?:[0-9a-zA-Z]+[.:,;/-])*[0-9a-zA-Z]+$
subject object required

A key for a particular revision of an identifiable item, e.g. of a resource. A key consists of a globally unique identifier and a revision. No or an undefined revision means the latest revision of the identified item.

2 nested properties
id string required

A globally unique identifier.

pattern=^[_a-zA-Z]{1}[_a-zA-Z0-9.-]*$
revision string

A globally unique revision tag with one or multiple blocks with alphanumeric characters separated by a special character [.:,;/-]. Sequential as well as branching/merging notations are possible.

pattern=^(?:[0-9a-zA-Z]+[.:,;/-])*[0-9a-zA-Z]+$
object object required

A key for a particular revision of an identifiable item, e.g. of a resource. A key consists of a globally unique identifier and a revision. No or an undefined revision means the latest revision of the identified item.

2 nested properties
id string required

A globally unique identifier.

pattern=^[_a-zA-Z]{1}[_a-zA-Z0-9.-]*$
revision string

A globally unique revision tag with one or multiple blocks with alphanumeric characters separated by a special character [.:,;/-]. Sequential as well as branching/merging notations are possible.

pattern=^(?:[0-9a-zA-Z]+[.:,;/-])*[0-9a-zA-Z]+$
changedAt string required

An ISO-8601 dateTime string. For reduced accuracy, any number of values may be dropped, but only from right to left.

format=date-time
alternativeIds SpecifAlternativeId[]

The list of consolidated items to be used in case a consolidated item shall be updated.

uniqueItems=true
language string

An IETF language tag such as 'en', 'en-US, 'fr' or 'de' showing the used language of the statement. Is superseded by a property's language value.

properties SpecifProperty[]

A list of properties of a resource or statement; the number of properties including any parent's properties must be >0.

uniqueItems=true
revision string

A globally unique revision tag with one or multiple blocks with alphanumeric characters separated by a special character [.:,;/-]. Sequential as well as branching/merging notations are possible.

pattern=^(?:[0-9a-zA-Z]+[.:,;/-])*[0-9a-zA-Z]+$
replaces SpecifRevision[]

For change and configuration management; the first revision has 0 entries, a simple modification has 1 entry and the result of a merge has 2 entries.

maxItems=2uniqueItems=true
changedBy string
SpecifNode object
id string required

A globally unique identifier.

pattern=^[_a-zA-Z]{1}[_a-zA-Z0-9.-]*$
resource object required

A key for a particular revision of an identifiable item, e.g. of a resource. A key consists of a globally unique identifier and a revision. No or an undefined revision means the latest revision of the identified item.

2 nested properties
id string required

A globally unique identifier.

pattern=^[_a-zA-Z]{1}[_a-zA-Z0-9.-]*$
revision string

A globally unique revision tag with one or multiple blocks with alphanumeric characters separated by a special character [.:,;/-]. Sequential as well as branching/merging notations are possible.

pattern=^(?:[0-9a-zA-Z]+[.:,;/-])*[0-9a-zA-Z]+$
changedAt string required

An ISO-8601 dateTime string. For reduced accuracy, any number of values may be dropped, but only from right to left.

format=date-time
title object[]

A list of items with text and language properties. If the information is be provided in multiple languages, the language must be specified for proper selection; it is however not required by the schema to avoid a lot of overhead in most cases with a single language.

uniqueItems=true
description object[]

A list of items with text and language properties. If the information is be provided in multiple languages, the language must be specified for proper selection; it is however not required by the schema to avoid a lot of overhead in most cases with a single language.

uniqueItems=true
nodes SpecifNode[]

A list of pointers to resources; may be nested forming a tree, i.e. a hierarchy of pointers.

uniqueItems=true
revision string

A globally unique revision tag with one or multiple blocks with alphanumeric characters separated by a special character [.:,;/-]. Sequential as well as branching/merging notations are possible.

pattern=^(?:[0-9a-zA-Z]+[.:,;/-])*[0-9a-zA-Z]+$
replaces SpecifRevision[]

For change and configuration management; the first revision has 0 entries, a simple modification has 1 entry and the result of a merge has 2 entries.

maxItems=2uniqueItems=true
changedBy string
SpecifNodes SpecifNode[]

A list of pointers to resources; may be nested forming a tree, i.e. a hierarchy of pointers.

SpecifFile object
id string required

A globally unique identifier.

pattern=^[_a-zA-Z]{1}[_a-zA-Z0-9.-]*$
title string required

The file's name.

type string required

The file's media type (formerly MIME-type) according to https://www.iana.org/assignments/media-types/media-types.xhtml.

changedAt string required

An ISO-8601 dateTime string. For reduced accuracy, any number of values may be dropped, but only from right to left.

format=date-time
description object[]

A list of items with text and language properties. If the information is be provided in multiple languages, the language must be specified for proper selection; it is however not required by the schema to avoid a lot of overhead in most cases with a single language.

uniqueItems=true
url string

An absolute or relative URL to the file; will be of format 'uri-reference' in future. If missing, the title applies.

revision string

A globally unique revision tag with one or multiple blocks with alphanumeric characters separated by a special character [.:,;/-]. Sequential as well as branching/merging notations are possible.

pattern=^(?:[0-9a-zA-Z]+[.:,;/-])*[0-9a-zA-Z]+$
replaces SpecifRevision[]

For change and configuration management; the first revision has 0 entries, a simple modification has 1 entry and the result of a merge has 2 entries.

maxItems=2uniqueItems=true
changedBy string

Generated by Lintel Catalog Builder 0.0.16