Data models for INM7 user management
The classes and slots in this schema support modeling the onboarding and offboarding workflows at the INM7.
More information may be available on the schema's about page.
The schema definition is available as
URI: https://concepts.inm7.de/s/flat-users/unreleased
Name: inm7-flat-users-schema
Schema Diagram
erDiagram
Account {
string name
stringList curation_comments
string display_label
uriorcurie pid
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
}
JuselessAccount {
string name
stringList curation_comments
string display_label
uriorcurie pid
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
}
JuselessGroup {
string name
stringList curation_comments
string display_label
uriorcurie pid
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
}
User {
LicensedSoftwareList allocated_software_licenses
W3CISO8601 end_date
RequestableAccessoryList requested_accessories
string requested_juseless_account_name
RequestableLaptop requested_laptop
W3CISO8601 start_date
UserClassificationList user_classifications
stringList additional_names
string family_name
string given_name
string honorific_name_prefix
string honorific_name_suffix
EmailAddressList emails
string orcid
stringList curation_comments
string display_label
uriorcurie pid
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
}
ThingMixin {
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
}
ValueSpecificationMixin {
uriorcurie range
string value
}
AttributeSpecification {
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
uriorcurie range
string value
}
Property {
uriorcurie pid
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
}
Statement {
}
Thing {
uriorcurie pid
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
}
ValueSpecification {
uriorcurie range
string value
uriorcurie pid
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
}
Annotation {
string annotation_value
}
Identifier {
uriorcurie creator
string notation
NodeUriOrCurie schema_type
}
IssuedIdentifier {
string schema_agency
uriorcurie creator
string notation
NodeUriOrCurie schema_type
}
ComputedIdentifier {
uriorcurie creator
string notation
NodeUriOrCurie schema_type
}
Checksum {
uriorcurie creator
HexBinary notation
NodeUriOrCurie schema_type
}
DOI {
string schema_agency
uriorcurie creator
string notation
NodeUriOrCurie schema_type
}
CurationAid {
stringList curation_comments
string display_label
}
Person {
stringList additional_names
string family_name
string given_name
string honorific_name_prefix
string honorific_name_suffix
EmailAddressList emails
string orcid
stringList curation_comments
string display_label
uriorcurie pid
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
}
Site {
string name
stringList curation_comments
string display_label
uriorcurie pid
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
}
Building {
string name
stringList curation_comments
string display_label
uriorcurie pid
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
}
BuildingLevel {
string name
stringList curation_comments
string display_label
uriorcurie pid
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
}
Organization {
string name
string short_name
OrganizationType organization_type
stringList curation_comments
string display_label
uriorcurie pid
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
}
Room {
string name
stringList curation_comments
string display_label
uriorcurie pid
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
}
Account ||--}o Identifier : "identifiers"
Account ||--|o Person : "record_contact"
Account ||--}o Thing : "relations"
Account ||--}o Annotation : "annotations"
Account ||--}o AttributeSpecification : "attributes"
Account ||--}o Statement : "characterized_by"
JuselessAccount ||--}o JuselessGroup : "member_of"
JuselessAccount ||--}o Identifier : "identifiers"
JuselessAccount ||--|o Person : "record_contact"
JuselessAccount ||--}o Thing : "relations"
JuselessAccount ||--}o Annotation : "annotations"
JuselessAccount ||--}o AttributeSpecification : "attributes"
JuselessAccount ||--}o Statement : "characterized_by"
JuselessGroup ||--}o Identifier : "identifiers"
JuselessGroup ||--|o Person : "record_contact"
JuselessGroup ||--}o Thing : "relations"
JuselessGroup ||--}o Annotation : "annotations"
JuselessGroup ||--}o AttributeSpecification : "attributes"
JuselessGroup ||--}o Statement : "characterized_by"
User ||--|o JuselessAccount : "juseless_account"
User ||--}o JuselessGroup : "juseless_group_membership"
User ||--}o Organization : "member_of"
User ||--}o Room : "offices"
User ||--}o Identifier : "identifiers"
User ||--|o Person : "record_contact"
User ||--}o Thing : "relations"
User ||--}o Annotation : "annotations"
User ||--}o AttributeSpecification : "attributes"
User ||--}o Statement : "characterized_by"
ThingMixin ||--}o Annotation : "annotations"
ThingMixin ||--}o AttributeSpecification : "attributes"
ThingMixin ||--}o Statement : "characterized_by"
AttributeSpecification ||--|| Property : "predicate"
AttributeSpecification ||--}o Annotation : "annotations"
AttributeSpecification ||--}o AttributeSpecification : "attributes"
AttributeSpecification ||--}o Statement : "characterized_by"
Property ||--}o Thing : "relations"
Property ||--}o Annotation : "annotations"
Property ||--}o AttributeSpecification : "attributes"
Property ||--}o Statement : "characterized_by"
Statement ||--|| Thing : "object"
Statement ||--|| Property : "predicate"
Thing ||--}o Thing : "relations"
Thing ||--}o Annotation : "annotations"
Thing ||--}o AttributeSpecification : "attributes"
Thing ||--}o Statement : "characterized_by"
ValueSpecification ||--}o Thing : "relations"
ValueSpecification ||--}o Annotation : "annotations"
ValueSpecification ||--}o AttributeSpecification : "attributes"
ValueSpecification ||--}o Statement : "characterized_by"
Annotation ||--|o Thing : "annotation_tag"
CurationAid ||--}o Identifier : "identifiers"
CurationAid ||--|o Person : "record_contact"
Person ||--}o Organization : "member_of"
Person ||--}o Room : "offices"
Person ||--}o Identifier : "identifiers"
Person ||--|o Person : "record_contact"
Person ||--}o Thing : "relations"
Person ||--}o Annotation : "annotations"
Person ||--}o AttributeSpecification : "attributes"
Person ||--}o Statement : "characterized_by"
Site ||--}o Identifier : "identifiers"
Site ||--|o Person : "record_contact"
Site ||--}o Thing : "relations"
Site ||--}o Annotation : "annotations"
Site ||--}o AttributeSpecification : "attributes"
Site ||--}o Statement : "characterized_by"
Building ||--|o Site : "site"
Building ||--}o Identifier : "identifiers"
Building ||--|o Person : "record_contact"
Building ||--}o Thing : "relations"
Building ||--}o Annotation : "annotations"
Building ||--}o AttributeSpecification : "attributes"
Building ||--}o Statement : "characterized_by"
BuildingLevel ||--|o Building : "building"
BuildingLevel ||--}o Identifier : "identifiers"
BuildingLevel ||--|o Person : "record_contact"
BuildingLevel ||--}o Thing : "relations"
BuildingLevel ||--}o Annotation : "annotations"
BuildingLevel ||--}o AttributeSpecification : "attributes"
BuildingLevel ||--}o Statement : "characterized_by"
Organization ||--|o Organization : "parent_organization"
Organization ||--}o Person : "leaders"
Organization ||--}o Identifier : "identifiers"
Organization ||--|o Person : "record_contact"
Organization ||--}o Thing : "relations"
Organization ||--}o Annotation : "annotations"
Organization ||--}o AttributeSpecification : "attributes"
Organization ||--}o Statement : "characterized_by"
Room ||--|o BuildingLevel : "building_level"
Room ||--}o Identifier : "identifiers"
Room ||--|o Person : "record_contact"
Room ||--}o Thing : "relations"
Room ||--}o Annotation : "annotations"
Room ||--}o AttributeSpecification : "attributes"
Room ||--}o Statement : "characterized_by"
Press "Alt" / "Option" to enable Pan & Zoom
Classes
Class | Description |
---|---|
Annotation | A tag/value pair with the semantics of OWL Annotation. |
AttributeSpecification | An attribute is conceptually a thing, but it requires no dedicated identifier (pid ). Instead, it is linked to a Thing via its attributes slot and declares a predicate on the nature of the relationship. |
CurationAid | Technical helper providing curation-related slots. |
Identifier | An identifier is a label that uniquely identifies an item in a particular context. Some identifiers are globally unique. All identifiers are unique within their individual scope. |
ComputedIdentifier | An identifier that has been derived from information on the identified entity. |
Checksum | A Checksum is a value that allows to check the integrity of the contents of a file. Even small changes to the content of the file will change its checksum. This class allows the results of a variety of checksum and cryptographic message digest algorithms to be represented. |
IssuedIdentifier | An identifier that was issued by a particular agent with a notation that has no (or an undefined) relation to the nature of the identified entity. |
DOI | Digital Object Identifier (DOI; ISO 26324), an identifier system governed by the DOI Foundation, where individual identifiers are issued by one of several registration agencies. |
Statement | An RDF statement that links a predicate (a Property ) with an object (a Thing ) to the subject to form a triple. A Statement is used to qualify a relation to a Thing referenced by its identifier. For specifying a qualified relation to an attribute that has no dedicated identifier, use an AttributeSpecification . |
Thing | The most basic, identifiable item. In addition to the slots that are common between a Thing and an AttributeSpecification (see ThingMixin ), two additional slots are provided. The pid slot takes the required identifier for a Thing . The relation slot allows for the inline specification of other Thing instances. Such a relation is unqualified (and symmetric), and should be further characterized via a Statement (see characterized_by ). From a schema perspective, the relation slots allows for building self-contained, structured documents (e.g., a JSON object) with arbitrarily complex information on a Thing . |
Account | Authorization to access resources on a system. |
JuselessAccount | User account on the Juseless system |
JuselessGroup | Unix group on the Juseless system |
Building | A structure with a roof and walls. |
BuildingLevel | A single level or floor of a (multilevel) building. |
Organization | A social or legal institution such as a company, a society, or a university. |
Person | A person. |
User | A person that is a user of the INM7 IT infrastructure |
Property | An RDF property, a Thing used to define a predicate , for example in a Statement . |
Room | An area within a building enclosed by walls and floor and ceiling. |
Site | A place or region where entities (building, office, etc.) reside. |
ValueSpecification | A Thing that is a value of some kind. This class can be used to describe an outcome of a measurement, a factual value or constant, or other qualitative or quantitative information with an associated identifier. If no identifier is available, an AttributeSpecification can be used within the context of an associated Thing (attributes ). |
ThingMixin | Mix-in with the common interface of Thing and AttributeSpecification . This interface enables type specifications (rdf:type ) for things and attributes via a type designator slot to indicate specialized schema classes for validation where a slot's range is too generic. A thing or attribute can be further describe with statements on qualified relations to other things (characterized_by ), or inline attributes (attributes ). A set of mappings slots enables the alignment for arbitrary external schemas and terminologies. |
ValueSpecificationMixin | Mix-in for a (structured) value specification. Two slots are provided to define a (literal) value (value ) and its type (range ). |
Slots
Slot | Description |
---|---|
additional_names | Additional name(s) associated with the subject, such as one or more middle na... |
allocated_software_licenses | Software licenses allocated for the subject |
annotation_tag | A tag identifying an annotation |
annotation_value | The actual annotation |
annotations | A record of properties of the metadata record on a subject, a collection of t... |
attributes | Declares a relation that associates a Thing (or another attribute) with an ... |
broad_mappings | A list of terms from different schemas or terminology systems that have broad... |
building | Building where the subject is located |
building_level | Building level where the subject is located |
characterized_by | Qualifies relationships between a subject Thing and an object Thing with ... |
close_mappings | A list of terms from different schemas or terminology systems that have close... |
creator | An agent responsible for making an entity |
curation_comments | A comment about a metadata record either providing additional information for... |
description | A free-text account of the subject |
display_label | Label to shown when the record is displayed as an item |
emails | Associated email address |
end_date | Timepoint at which the subject ends or ended |
exact_mappings | A list of terms from different schemas or terminology systems that have ident... |
family_name | The (inherited) family name of the subject |
given_name | The given (non-inherited) name of the subject |
honorific_name_prefix | The honorific prefix(es) of the subject's name |
honorific_name_suffix | The honorific suffix(es) of the subject's name |
identifiers | An unambiguous reference to the subject within a given context |
juseless_account | Assigned account on the Juseless system |
juseless_group_membership | Groups on the Juseless system this user needs be a member of |
leaders | Person(s) that are formal or informal leaders of the subject |
mappings | A list of terms from different schemas or terminology systems that have compa... |
member_of | The subject is a member of an organization |
name | Name of the subject |
narrow_mappings | A list of terms from different schemas or terminology systems that have narro... |
notation | String of characters such as "T58:5" or "30:4833" used to uniquely identify a... |
object | Reference to a Thing within a Statement |
offices | Room(s) that are the office(s) of the subject |
orcid | Associated ORCID identifier (see https://orcid |
organization_type | Type of an organization |
parent_organization | An organization the subject is a part of |
pid | Persistent and globally unique identifier of a Thing |
predicate | Reference to a Property within a Statement |
range | Declares that the value of a Thing or AttributeSpecification are instance... |
record_contact | Person to contact regarding questions about information in this metadata reco... |
related_mappings | A list of terms from different schemas or terminology systems that have relat... |
relations | Declares an unqualified relation of the subject Thing to another Thing |
requested_accessories | The standard workplace package is a Dell 27-inch screen with built-in USB-C d... |
requested_juseless_account_name | Name of a (to be created) account |
requested_laptop | Mac or Lenovo laptops can be provided |
schema_agency | Name of the agency that issued an identifier |
schema_type | State that the subject is an instance of a particular schema class |
short_name | A shortened name for the subject |
site | Site where the subject is located |
start_date | Timepoint at which the subject starts or started |
user_classifications | Type classifications for users |
value | Value of a thing |
Enumerations
Enumeration | Description |
---|---|
LicensedSoftware | Recognized license types |
OrganizationType | Classification of organizations |
RequestableAccessory | Requestable accessories for INM-7 users |
RequestableLaptop | Requestable configurations for INM-7 provided laptops |
UserClassification | Classifications of user types |
Types
Type | Description |
---|---|
Boolean | A binary (true or false) value |
Curie | a compact URI |
Date | a date (year, month and day) in an idealized calendar |
DateOrDatetime | Either a date or a datetime |
Datetime | The combination of a date and time |
Decimal | A real number with arbitrary precision that conforms to the xsd:decimal speci... |
Double | A real number that conforms to the xsd:double specification |
EmailAddress | RFC 5322 compliant email address |
Float | A real number that conforms to the xsd:float specification |
HexBinary | hex-encoded binary data |
Integer | An integer |
Jsonpath | A string encoding a JSON Path |
Jsonpointer | A string encoding a JSON Pointer |
Ncname | Prefix part of CURIE |
Nodeidentifier | A URI, CURIE or BNODE that represents a node in a model |
NodeUriOrCurie | A type referencing an graph node |
NonNegativeInteger | An integer |
Objectidentifier | A URI or CURIE that represents an object in the model |
Sparqlpath | A string encoding a SPARQL Property Path |
String | A character string |
Time | A time object represents a (local) time of day, independent of any particular... |
Uri | a complete URI |
Uriorcurie | a URI or a CURIE |
W3CISO8601 | W3C variant/subset of IS08601 for specifying date(times) |
Subsets
Subset | Description |
---|---|