Schema for a generic (data) provenance annotation
This schema builds on the PROV schema,
and diversifies its Agent
concept to cover aspects of social
relations and concepts.
With Person
, and Organization
, two
essential Agent
types included in PROV
are provided here.
A custom CURIE prefix email:
is defined and emitted to allow for using
emails as suitable schema identifiers for an email address (e.g.,
email:me@example.org
).
This schema also incorporates the schemas
The schema definition is available as
URI: https://concepts.datalad.org/s/social/unreleased
Name: social-schema
Schema Diagram
erDiagram
Person {
stringList additional_names
string family_name
string given_name
string honorific_name_prefix
string honorific_name_suffix
string formatted_name
uriorcurie pid
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
}
Group {
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
uriorcurie pid
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
}
Project {
string short_name
string title
W3CISO8601 ended_at
W3CISO8601 started_at
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
}
Role {
uriorcurie pid
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
}
Relationship {
NodeUriOrCurie schema_type
}
Location {
uriorcurie pid
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
}
InstantaneousEvent {
W3CISO8601 at_time
uriorcurie pid
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
}
TransientRelationship {
W3CISO8601 started_at
W3CISO8601 ended_at
NodeUriOrCurie schema_type
}
Agent {
uriorcurie pid
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
}
Activity {
W3CISO8601 ended_at
W3CISO8601 started_at
uriorcurie pid
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
}
Entity {
uriorcurie pid
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
}
SoftwareAgent {
uriorcurie pid
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
}
Person ||--}o Agent : "acted_on_behalf_of"
Person ||--|o Location : "at_location"
Person ||--}o Identifier : "identifiers"
Person ||--}o Relationship : "qualified_relations"
Person ||--}o Thing : "relations"
Person ||--}o Annotation : "annotations"
Person ||--}o AttributeSpecification : "attributes"
Person ||--}o Statement : "characterized_by"
Group ||--}o Agent : "acted_on_behalf_of"
Group ||--|o Location : "at_location"
Group ||--}o Identifier : "identifiers"
Group ||--}o Relationship : "qualified_relations"
Group ||--}o Thing : "relations"
Group ||--}o Annotation : "annotations"
Group ||--}o AttributeSpecification : "attributes"
Group ||--}o Statement : "characterized_by"
Organization ||--}o Agent : "acted_on_behalf_of"
Organization ||--|o Location : "at_location"
Organization ||--}o Identifier : "identifiers"
Organization ||--}o Relationship : "qualified_relations"
Organization ||--}o Thing : "relations"
Organization ||--}o Annotation : "annotations"
Organization ||--}o AttributeSpecification : "attributes"
Organization ||--}o Statement : "characterized_by"
Project ||--|o Location : "at_location"
Project ||--}o Identifier : "identifiers"
Project ||--}o Relationship : "qualified_relations"
Project ||--}o Agent : "associated_with"
Project ||--}o Activity : "informed_by"
Project ||--}o Thing : "relations"
Project ||--}o Annotation : "annotations"
Project ||--}o AttributeSpecification : "attributes"
Project ||--}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"
Role ||--}o Thing : "relations"
Role ||--}o Annotation : "annotations"
Role ||--}o AttributeSpecification : "attributes"
Role ||--}o Statement : "characterized_by"
Relationship ||--|| Thing : "object"
Relationship ||--}o Role : "roles"
Location ||--}o Identifier : "identifiers"
Location ||--}o Relationship : "qualified_relations"
Location ||--}o Thing : "relations"
Location ||--}o Annotation : "annotations"
Location ||--}o AttributeSpecification : "attributes"
Location ||--}o Statement : "characterized_by"
InstantaneousEvent ||--}o Identifier : "identifiers"
InstantaneousEvent ||--}o Relationship : "qualified_relations"
InstantaneousEvent ||--}o Thing : "relations"
InstantaneousEvent ||--}o Annotation : "annotations"
InstantaneousEvent ||--}o AttributeSpecification : "attributes"
InstantaneousEvent ||--}o Statement : "characterized_by"
TransientRelationship ||--|| Thing : "object"
TransientRelationship ||--}o Role : "roles"
Agent ||--}o Agent : "acted_on_behalf_of"
Agent ||--|o Location : "at_location"
Agent ||--}o Identifier : "identifiers"
Agent ||--}o Relationship : "qualified_relations"
Agent ||--}o Thing : "relations"
Agent ||--}o Annotation : "annotations"
Agent ||--}o AttributeSpecification : "attributes"
Agent ||--}o Statement : "characterized_by"
Activity ||--|o Location : "at_location"
Activity ||--}o Identifier : "identifiers"
Activity ||--}o Relationship : "qualified_relations"
Activity ||--}o Agent : "associated_with"
Activity ||--}o Activity : "informed_by"
Activity ||--}o Thing : "relations"
Activity ||--}o Annotation : "annotations"
Activity ||--}o AttributeSpecification : "attributes"
Activity ||--}o Statement : "characterized_by"
Entity ||--}o Identifier : "identifiers"
Entity ||--}o Relationship : "qualified_relations"
Entity ||--}o Agent : "attributed_to"
Entity ||--}o Entity : "derived_from"
Entity ||--}o Activity : "generated_by"
Entity ||--}o Thing : "relations"
Entity ||--}o Annotation : "annotations"
Entity ||--}o AttributeSpecification : "attributes"
Entity ||--}o Statement : "characterized_by"
SoftwareAgent ||--}o Agent : "acted_on_behalf_of"
SoftwareAgent ||--|o Location : "at_location"
SoftwareAgent ||--}o Identifier : "identifiers"
SoftwareAgent ||--}o Relationship : "qualified_relations"
SoftwareAgent ||--}o Thing : "relations"
SoftwareAgent ||--}o Annotation : "annotations"
SoftwareAgent ||--}o AttributeSpecification : "attributes"
SoftwareAgent ||--}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... |
Identifier | An identifier is a label that uniquely identifies an item in a particular con... |
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... |
IssuedIdentifier | An identifier that was issued by a particular agent with a notation that has ... |
DOI | Digital Object Identifier (DOI; ISO 26324), an identifier system governed by ... |
Relationship | An association class for characterizing the relation between two things with ... |
TransientRelationship | A relationship that is valid or remains in place for a limited time |
Statement | An RDF statement that links a predicate (a Property ) with an object (a ... |
Thing | The most basic, identifiable item |
Activity | An activity is something that occurs over a period of time and acts upon or w... |
Project | A collective endeavour of some kind |
Agent | Something that bears some form of responsibility for an activity taking place... |
Group | A collection of individual agents |
Organization | A social or legal instititution such as a company, a society, or a university |
Person | Person agents are people, alive, dead, or fictional |
SoftwareAgent | Running software |
Entity | A physical, digital, conceptual, or other kind of thing with some fixed aspec... |
InstantaneousEvent | A moment of a transition from one particular state of the world to another |
Location | A location can be an identifiable geographic place (ISO 19112), but it can al... |
Property | An RDF property, a Thing used to define a predicate , for example in a `St... |
Role | A role is the function of a resource or agent with respect to a subject, in t... |
ValueSpecification | A Thing that is a value of some kind |
ThingMixin | Mix-in with the common interface of Thing and AttributeSpecification |
ValueSpecificationMixin | Mix-in for a (structured) value specification |
Slots
Slot | Description |
---|---|
about | A relation of an information artifact to the subject, such as a URL identifyi... |
acted_on_behalf_of | Assign the authority and responsibility for carrying out a specific activity ... |
additional_names | Additional name(s) associated with the subject, such as one or more middle na... |
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... |
associated_with | An activity association is an assignment of responsibility to an agent for an... |
at_location | Associate the subject with a location |
at_time | Time at which an instanteneous event takes place or took place |
attributed_to | Attribution is the ascribing of an entity to an agent |
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... |
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... |
conforms_to | An established standard to which the subject conforms |
creator | An agent responsible for making an entity |
date_modified | Timepoint at which the subject was (last) changed, updated or modified |
date_published | Timepoint at which the subject was (last) published |
derived_from | Derivation is a transformation of an entity into another, an update of an ent... |
description | A free-text account of the subject |
ended_at | End is when an activity is deemed to have been ended by some trigger |
exact_mappings | A list of terms from different schemas or terminology systems that have ident... |
family_name | The (inherited) family name of the subject |
formatted_name | A formatted text corresponding to the name of the subject |
generated_by | Generation is the completion of production of a new entity by an activity |
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 |
informed_by | Communication is the exchange of an entity by two activities, one activity us... |
keywords | One or more keywords or tags describing the subject |
mappings | A list of terms from different schemas or terminology systems that have compa... |
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 |
pid | Persistent and globally unique identifier of a Thing |
predicate | Reference to a Property within a Statement |
qualified_relations | Characterizes the relationship or role of an entity with respect to the subje... |
range | Declares that the value of a Thing or AttributeSpecification are instance... |
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 |
roles | Describes the function of an entity or agent (object) within the scope of a `... |
same_as | Declares that the subject and an object are equal |
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 |
started_at | Start is when an activity is deemed to have been started by some trigger |
title | A summarily description of the subject |
value | Value of a thing |
Enumerations
Enumeration | Description |
---|---|
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 |
---|---|