Difference between revisions of "Facet Based Resource Model"
Luca.frosini (Talk | contribs) (→Contact Facet) |
Luca.frosini (Talk | contribs) (→Facets) |
||
Line 205: | Line 205: | ||
| colspan=2 | A distinguishing string to be used by clients to identify the access point of interest; | | colspan=2 | A distinguishing string to be used by clients to identify the access point of interest; | ||
|- | |- | ||
− | | endpoint | + | | endpoint |
| URI | | URI | ||
| <code>Mandatory=true</code> <br/><code>ReadOnly=true</code> <br/><code>NotNull=true</code> | | <code>Mandatory=true</code> <br/><code>ReadOnly=true</code> <br/><code>NotNull=true</code> | ||
Line 287: | Line 287: | ||
! colspan=2 | Description | ! colspan=2 | Description | ||
|- | |- | ||
− | | name | + | | name |
| String | | String | ||
| <code>Mandatory=true</code> <br/><code>ReadOnly=true</code> <br/><code>NotNull=true</code> | | <code>Mandatory=true</code> <br/><code>ReadOnly=true</code> <br/><code>NotNull=true</code> | ||
Line 467: | Line 467: | ||
|+ Contact Reference Facet <code>extends</code> [[#Facet|Facet]] | |+ Contact Reference Facet <code>extends</code> [[#Facet|Facet]] | ||
|- | |- | ||
− | | colspan= | + | | colspan=5 | '''Goal:'' This facet captures information on the primary and authoritative contact for the resource it is associated with. |
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Properties |
|- | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
− | |||
! Attributes | ! Attributes | ||
+ | ! colspan=2 | Description | ||
|- | |- | ||
| website | | website | ||
| URL | | URL | ||
− | | The main website | + | | |
− | + | | colspan=2 | The main website | |
|- | |- | ||
| address | | address | ||
| String | | String | ||
− | | A physical address | + | | |
− | + | | colspan=2 | A physical address | |
|- | |- | ||
| phone | | phone | ||
| String | | String | ||
− | |||
| | | | ||
+ | | colspan=2 | A phone number | ||
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Known Usage |
|- | |- | ||
− | | | + | | [[#Actor|Actor]] |
+ | | [[#consistsOf|consistsOf]] | ||
+ | | align=center | 0..n | ||
+ | | [[#Contact_Reference_Facet|Contact Reference Facet]] | ||
+ | | The primary contact information for the Actor it is attached to; | ||
|- | |- | ||
− | | | + | | [[#Legal_Body|Legal Body]] |
+ | | [[#consistsOf|consistsOf]] | ||
+ | | align=center | 0..n | ||
+ | | [[#Contact_Reference_Facet|Contact Reference Facet]] | ||
+ | | The primary contact information for the Legal Body it is attached to; | ||
|- | |- | ||
− | | | + | | [[#Person|Person]]''' [[#consistsOf|consistsOf]] |
+ | | align=center | 0..n | ||
+ | | [[#Contact_Reference_Facet|Contact Reference Facet]] | ||
+ | | The primary contact information for the Person it is attached to; | ||
|} | |} | ||
Line 507: | Line 518: | ||
| colspan=4| This facet captures information on the ''extent'' of the Resource, i.e. any aspect aiming at capturing an indicator of the amount/area the resource covers be it a geospatial area, a temporal area, or any other "area". | | colspan=4| This facet captures information on the ''extent'' of the Resource, i.e. any aspect aiming at capturing an indicator of the amount/area the resource covers be it a geospatial area, a temporal area, or any other "area". | ||
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Properties |
|- | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
− | |||
! Attributes | ! Attributes | ||
+ | ! colspan=2 | Description | ||
|- | |- | ||
| value | | value | ||
| String | | String | ||
− | + | | <code>Mandatory=true</code> <br/><code>NotNull=true</code> | |
− | | <code>Mandatory=true</code> <br/><code>NotNull=true</code> | + | | colspan=2 | The amount indicating the "area" covered by the dataset according to the reference schema; |
|- | |- | ||
| schema | | schema | ||
| URI | | URI | ||
− | |||
| <code>Mandatory=true</code> <br/> <code>NotNull=true</code> | | <code>Mandatory=true</code> <br/> <code>NotNull=true</code> | ||
+ | | The reference schema to be used to interpret the value; | ||
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Known Usage |
|- | |- | ||
− | + | ! Source | |
+ | ! Relation | ||
+ | ! Multiplicity | ||
+ | ! Target | ||
+ | ! Description | ||
|- | |- | ||
− | | | + | | [[#Dataset|Dataset]] |
+ | | [[#hasCoverage|hasCoverage]] | ||
+ | | align=center | 1..n | ||
+ | | [[#Coverage_Facet|Coverage Facet]] | ||
+ | | | ||
|- | |- | ||
− | | | + | | [[#Dataset|Dataset]] |
+ | | [[#hasTemporalCoverage|hasTemporalCoverage]] | ||
+ | | align=center | 0..n | ||
+ | | [[#Coverage_Facet|Coverage Facet]] | ||
+ | | any temporal coverage characterising the dataset content; | ||
+ | |- | ||
+ | | [[#Dataset|Dataset]] | ||
+ | | [[#hasSpatialCoverage|hasSpatialCoverage]] | ||
+ | | align=center | 0..n | ||
+ | | [[#Coverage_Facet|Coverage Facet]] | ||
+ | | any spatial coverage characterising the dataset content; | ||
|} | |} | ||
Line 538: | Line 567: | ||
|+ CPU Facet <code>extends</code> [[#Facet|Facet]] | |+ CPU Facet <code>extends</code> [[#Facet|Facet]] | ||
|- | |- | ||
− | | colspan= | + | | colspan=5 | This facet captures information on the Central Processing Unit of the resource it is associated. |
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Properties |
|- | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
− | |||
! Attributes | ! Attributes | ||
+ | ! colspan=2 | Description | ||
|- | |- | ||
| model | | model | ||
| String | | String | ||
− | |||
| <code>Mandatory=true</code> <br/><code>NotNull=true</code> | | <code>Mandatory=true</code> <br/><code>NotNull=true</code> | ||
+ | | colspan=2 | CPU Model | ||
|- | |- | ||
| vendor | | vendor | ||
| String | | String | ||
− | |||
| <code>Mandatory=true</code> <br/><code>NotNull=true</code> | | <code>Mandatory=true</code> <br/><code>NotNull=true</code> | ||
+ | | colspan=2 | CPU Vendor | ||
+ | |||
|- | |- | ||
| clockSpeed | | clockSpeed | ||
| String | | String | ||
− | |||
| <code>Mandatory=true</code> <br/><code>NotNull=true</code> | | <code>Mandatory=true</code> <br/><code>NotNull=true</code> | ||
+ | | colspan=2 | Clock Speed with the unit | ||
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Known Usage |
|- | |- | ||
− | | | + | ! Source |
+ | ! Relation | ||
+ | ! Multiplicity | ||
+ | ! Target | ||
+ | ! Description | ||
+ | |- | ||
+ | | [[#Hosting_Node|Hosting Node]] | ||
+ | | [[#consistsOf|consistsOf]] | ||
+ | | align=center | 1..n | ||
+ | | [[#CPU_Facet|CPU Facet]]: | ||
|} | |} | ||
Line 572: | Line 611: | ||
|+ Descriptive Metadata Facet <code>extends</code> [[#Facet|Facet]] | |+ Descriptive Metadata Facet <code>extends</code> [[#Facet|Facet]] | ||
|- | |- | ||
− | | colspan= | + | | colspan=5 | This facet captures information on descriptive metadata to be associated with teh resource |
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Properties |
|- | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
− | |||
! Attributes | ! Attributes | ||
+ | ! colspan=2 | Description | ||
|- | |- | ||
| value | | value | ||
Line 591: | Line 630: | ||
| <code>Mandatory=true</code> <br/><code>NotNull=true</code> | | <code>Mandatory=true</code> <br/><code>NotNull=true</code> | ||
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Known Usage |
|- | |- | ||
− | | | + | | [[#Dataset|Dataset]] |
+ | | [[#consistsOf|consistsOf]] | ||
+ | | align=center | 0..n | ||
+ | | [[#Descriptive_Metadata_Facet|Descriptive Metadata Facet]] | ||
+ | | | ||
|- | |- | ||
− | | | + | | [[#Schema|Schema]] |
+ | | [[#consistsOf|consistsOf]] | ||
+ | | align=center | 0..n | ||
+ | | [[#Descriptive_Metadata_Facet|Descriptive Metadata Facet]] | ||
+ | | | ||
|} | |} | ||
Line 603: | Line 650: | ||
|+ Event Facet <code>extends</code> [[#Facet|Facet]] | |+ Event Facet <code>extends</code> [[#Facet|Facet]] | ||
|- | |- | ||
− | | colspan= | + | | colspan=5 | This facet captures information on a certain event / happening characterising the life cycle of the resource. |
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Properties |
|- | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
− | |||
! Attributes | ! Attributes | ||
+ | ! colspan=2 | Description | ||
|- | |- | ||
| date | | date | ||
Line 627: | Line 674: | ||
| | | | ||
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Known Usage |
|- | |- | ||
− | | | + | | [[#Dataset|Dataset]] |
+ | | [[#consistsOf|consistsOf]] | ||
+ | | align=center | 0..n | ||
+ | | [[#Event_Facet|Event Facet]] | ||
+ | | | ||
|- | |- | ||
− | | | + | | [[#E-Service|E-Service]] |
+ | | [[#consistsOf|consistsOf]] | ||
+ | | align=center | 1..n | ||
+ | | [[#Event_Facet|Event Facet]] | ||
+ | | E.g. ActivationTime, DeploymentTime | ||
|- | |- | ||
− | | | + | | [[#Hosting_Node|Hosting Node]] |
+ | | [[#consistsOf|consistsOf]] | ||
+ | | align=center | 1..n | ||
+ | | [[#Event_Facet|Event Facet]] | ||
+ | | | ||
|} | |} | ||
Line 641: | Line 700: | ||
|+ Identifier Facet <code>extends</code> [[#Facet|Facet]] | |+ Identifier Facet <code>extends</code> [[#Facet|Facet]] | ||
|- | |- | ||
− | | colspan= | + | | colspan=5 | '''Goal''': This facet captures information on Identifiers (other than the ones automatically generated by the system) that can be attached to a resource. |
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Properties |
|- | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
− | |||
! Attributes | ! Attributes | ||
+ | ! colspan=2 | Description | ||
|- | |- | ||
| value | | value | ||
Line 665: | Line 724: | ||
| <code>Mandatory=true</code> <br/><code>NotNull=true</code> | | <code>Mandatory=true</code> <br/><code>NotNull=true</code> | ||
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Known Usage |
|- | |- | ||
− | | | + | | [[#Configuration_Template|Configuration Template]] |
+ | | [[#isIdentifiedBy|isIdentifiedBy]] | ||
+ | | align=center | 1..n | ||
+ | | [[#Identifier_Facet|Identifier Facet]] | ||
|- | |- | ||
− | | | + | | [[#Configuration|Configuration]] |
+ | | [[#isIdentifiedBy|isIdentifiedBy]] | ||
+ | | align=center | 1..n | ||
+ | | [[#Identifier_Facet|Identifier Facet]] | ||
|- | |- | ||
− | | | + | | [[#Dataset|Dataset]] |
+ | | [[#isIdentifiedBy|isIdentifiedBy]] | ||
+ | | align=center | 1..n | ||
+ | | [[#Identifier_Facet|Identifier Facet]] | ||
|- | |- | ||
− | | | + | | [[#Concrete_Dataset|Concrete Dataset]] |
+ | | [[#isIdentifiedBy|isIdentifiedBy]] | ||
+ | | align=center | 1..n | ||
+ | | [[#Identifier_Facet|Identifier Facet]] | ||
|- | |- | ||
− | | | + | | [[#Site|Site]] |
+ | | [[#isIdentifiedBy|isIdentifiedBy]] | ||
+ | | align=center | 1..n | ||
+ | | [[#Identifier_Facet|Identifier Facet]] | ||
|} | |} | ||
Line 683: | Line 757: | ||
|+ License Facet <code>extends</code> [[#Facet|Facet]] | |+ License Facet <code>extends</code> [[#Facet|Facet]] | ||
|- | |- | ||
− | | colspan= | + | | colspan=5 | '''Goal:''' This facet captures information on any license associated with the resource to capture the policies governing its exploitation and use. |
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Properties |
|- | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
− | |||
! Attributes | ! Attributes | ||
+ | ! colspan=2 | Description | ||
|- | |- | ||
| name | | name | ||
Line 702: | Line 776: | ||
| <code>Mandatory=true</code> <br/><code>NotNull=true</code> | | <code>Mandatory=true</code> <br/><code>NotNull=true</code> | ||
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Known Usage |
|- | |- | ||
− | | | + | | [[#Dataset|Dataset]] |
+ | | [[#consistsOf|consistsOf]] | ||
+ | | align=center | 0..n | ||
+ | | [[#License_Facet|License Facet]] | ||
+ | | The duration of license - if any - can be captured by the expiry date defined in the consistsOf relation. | ||
|- | |- | ||
− | | | + | | [[#E-Service|E-Service]] |
+ | | [[#consistsOf|consistsOf]] | ||
+ | | align=center | 0..n | ||
+ | | [[#License_Facet|License Facet]] | ||
|- | |- | ||
− | | | + | | [[#Software|Software]] |
+ | | [[#consistsOf|consistsOf]] | ||
+ | | align=center | 1..n | ||
+ | | [[#License_Facet|License Facet]] | ||
|} | |} | ||
Line 718: | Line 802: | ||
|+ Location Facet <code>extends</code> [[#Facet|Facet]] | |+ Location Facet <code>extends</code> [[#Facet|Facet]] | ||
|- | |- | ||
− | | colspan= | + | | colspan=5 | '''Goal:''' This facet captures information on a physical area characterising the resource it is associated with. This should not be confused with [[#Coverage_Facet|Coverage Facet]]. |
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Properties |
|- | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
− | |||
! Attributes | ! Attributes | ||
+ | ! colspan=2 | Description | ||
|- | |- | ||
| country | | country | ||
Line 747: | Line 831: | ||
| | | | ||
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Known Usage |
|- | |- | ||
− | | | + | | [[#Site|Site]] |
+ | | [[#consistsOf|consistsOf]] | ||
+ | | align=center | 1..n | ||
+ | | [[#Location_Facet|Location Facet]] | ||
+ | | the base where the site is operated; | ||
|} | |} | ||
Line 757: | Line 845: | ||
|+ Memory Facet <code>extends</code> [[#Facet|Facet]] | |+ Memory Facet <code>extends</code> [[#Facet|Facet]] | ||
|- | |- | ||
− | | colspan= | + | | colspan=5 | '''Goal:''' This facet captures information on computer memory equipping the resource and its usage. |
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Properties |
|- | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
− | |||
! Attributes | ! Attributes | ||
+ | ! colspan=2 | Description | ||
|- | |- | ||
| size | | size | ||
Line 781: | Line 869: | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Known Usage |
|- | |- | ||
− | | | + | | [[#Hosting_Node|Hosting Node]] |
+ | | [[#hasPersistentMemory|hasPersistentMemory]] | ||
+ | | align=center | 1..n | ||
+ | | [[#Memory_Facet|Memory Facet]] | ||
+ | | The Disk Space allocated to the hosting node; | ||
|- | |- | ||
− | | | + | | [[#Hosting_Node|Hosting Node]] |
+ | | [[#hasVolatileMemory|hasVolatileMemory]] | ||
+ | | align=center | 1..n | ||
+ | | [[#Memory_Facet|Memory Facet]] | ||
+ | | The RAM allocated to the hosting node; | ||
|} | |} | ||
Line 793: | Line 889: | ||
|+ Networking Facet <code>extends</code> [[#Facet|Facet]] | |+ Networking Facet <code>extends</code> [[#Facet|Facet]] | ||
|- | |- | ||
− | | colspan= | + | | colspan=5 | This facet captures information on any (computer) network interface/access point associated with the resource. |
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Properties |
|- | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
− | |||
! Attributes | ! Attributes | ||
+ | ! colspan=2 | Description | ||
|- | |- | ||
| hostName | | hostName | ||
Line 829: | Line 925: | ||
| | | | ||
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Known Usage |
|- | |- | ||
− | | | + | | [[#Hosting_Node|Hosting Node]] |
+ | | [[#isIdentifiedBy|isIdentifiedBy]] | ||
+ | | align=center | 1..n | ||
+ | | [[#Networking_Facet|Networking Facet]] | ||
|- | |- | ||
− | | | + | | [[#Site|Site]] |
+ | | [[#consistsOf|consistsOf]] | ||
+ | | align=center | 1..n | ||
+ | | [[#Networking_Facet|Networking Facet]] | ||
|} | |} | ||
Line 841: | Line 943: | ||
|+ Provenance Facet <code>extends</code> [[#Facet|Facet]] | |+ Provenance Facet <code>extends</code> [[#Facet|Facet]] | ||
|- | |- | ||
− | | colspan= | + | | colspan=5 | '''Goal:''' This facet captures information on provenance/lineage of the entire resource. |
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Properties |
|- | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
− | |||
! Attributes | ! Attributes | ||
+ | ! colspan=2 | Description | ||
|- | |- | ||
| relationship | | relationship | ||
Line 870: | Line 972: | ||
| | | | ||
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Known Usage |
|- | |- | ||
− | | | + | | [[#Dataset|Dataset]] |
+ | | [[#consistsOf|consistsOf]] | ||
+ | | align=center | 0..n | ||
+ | | [[#Provenance_Facet|Provenance Facet]] | ||
|} | |} | ||
Line 880: | Line 985: | ||
|+ <code>Abstract</code> Schema Facet <code>extends</code> [[#Facet|Facet]] | |+ <code>Abstract</code> Schema Facet <code>extends</code> [[#Facet|Facet]] | ||
|- | |- | ||
− | | colspan= | + | | colspan=5 | This facet captures information on any schema associated with a reosurce. |
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Properties |
|- | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
− | |||
! Attributes | ! Attributes | ||
+ | ! colspan=2 | Description | ||
|- | |- | ||
− | | name | + | | name |
| String | | String | ||
| Schema Name | | Schema Name | ||
Line 904: | Line 1,009: | ||
| | | | ||
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Known Usage |
|- | |- | ||
− | | | + | | [[#Schema|Schema]] |
+ | | [[#isIdentifiedBy|isIdentifiedBy]] | ||
+ | | align=center | 1..n | ||
+ | | [[#Schema_Facet|Schema Facet]] | ||
|} | |} | ||
Line 919: | Line 1,027: | ||
|+ JSON Schema Facet <code>extends</code> [[#Schema_Facet|Schema Facet]] | |+ JSON Schema Facet <code>extends</code> [[#Schema_Facet|Schema Facet]] | ||
|- | |- | ||
− | | colspan= | + | | colspan=5 | This facet captures information on a JSON schema associated with a resource. |
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Properties |
|- | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
− | |||
! Attributes | ! Attributes | ||
+ | ! colspan=2 | Description | ||
|- | |- | ||
| content | | content | ||
Line 933: | Line 1,041: | ||
| <code>Mandatory=true</code> <br/> <code>NotNull=true</code> | | <code>Mandatory=true</code> <br/> <code>NotNull=true</code> | ||
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Known Usage |
|- | |- | ||
− | | | + | | [[#Schema|Schema]] |
+ | | [[#isIdentifiedBy|isIdentifiedBy]] | ||
+ | | align=center | 0..n | ||
+ | | [[#JSON_Schema_Facet|JSON Schema Facet]] | ||
|} | |} | ||
Line 943: | Line 1,054: | ||
|+ XSD Schema Facet <code>extends</code> [[#Schema_Facet|Schema Facet]] | |+ XSD Schema Facet <code>extends</code> [[#Schema_Facet|Schema Facet]] | ||
|- | |- | ||
− | | colspan= | + | | colspan=5 | This facet captures information on any XML Schema Definition (XSD) associated with the resource. |
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Properties |
|- | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
− | |||
! Attributes | ! Attributes | ||
+ | ! colspan=2 | Description | ||
|- | |- | ||
| content | | content | ||
Line 957: | Line 1,068: | ||
| <code>Mandatory=true</code> <br/> <code>NotNull=true</code> | | <code>Mandatory=true</code> <br/> <code>NotNull=true</code> | ||
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Known Usage |
|- | |- | ||
− | | | + | | [[#Schema|Schema]] |
+ | | [[#isIdentifiedBy|isIdentifiedBy]] | ||
+ | | align=center | 0..n | ||
+ | | [[#XSD_Schema_Facet|XSD Schema Facet]] | ||
|} | |} | ||
Line 968: | Line 1,082: | ||
|+ Simple Property Facet <code>extends</code> [[#Facet|Facet]] | |+ Simple Property Facet <code>extends</code> [[#Facet|Facet]] | ||
|- | |- | ||
− | | colspan= | + | | colspan=5 | '''Goal:''' This facet captures information on any property by a simple name-value pair. |
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Properties |
|- | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
− | |||
! Attributes | ! Attributes | ||
+ | ! colspan=2 | Description | ||
|- | |- | ||
| name | | name | ||
Line 987: | Line 1,101: | ||
| <code>Mandatory=true</code> <br/> <code>NotNull=true</code> | | <code>Mandatory=true</code> <br/> <code>NotNull=true</code> | ||
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Known Usage |
|- | |- | ||
− | | | + | | [[#Configuration_Template|Configuration Template]] |
+ | | [[#consistsOf|consistsOf]] | ||
+ | | align=center | 1..n | ||
+ | | [[#Simple_Property_Facet|Simple Property Facet]] | ||
|- | |- | ||
− | | | + | | [[#Hosting_Node|Hosting Node]] |
+ | | [[#consistsOf|consistsOf]] | ||
+ | | align=center | 0..n | ||
+ | | [[#Simple_Property_Facet|Simple Property Facet]] | ||
+ | | E.g. to model [https://en.wikipedia.org/wiki/Environment_variable |Environment Variables] | ||
|} | |} | ||
Line 999: | Line 1,120: | ||
|+ Software Facet <code>extends</code> [[#Facet|Facet]] | |+ Software Facet <code>extends</code> [[#Facet|Facet]] | ||
|- | |- | ||
− | | colspan= | + | | colspan=5 | '''Goal:''' This facet captures information on any software associated with the resource. |
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Properties |
|- | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
− | |||
! Attributes | ! Attributes | ||
+ | ! colspan=2 | Description | ||
|- | |- | ||
| name | | name | ||
Line 1,038: | Line 1,159: | ||
| | | | ||
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Known Usage |
|- | |- | ||
− | | | + | | [[#E-Service|E-Service]] |
+ | | [[#isIdentifiedBy|isIdentifiedBy]] | ||
+ | | align=center | 1..n | ||
+ | | [[#Software_Facet|Software Facet]] | ||
+ | | The software enabling the E-Service capabilities | ||
|- | |- | ||
− | | | + | | [[#E-Service|E-Service]] |
+ | | [[#consistsOf|consistsOf]] | ||
+ | | align=center | 0..n | ||
+ | | [[#Software_Facet|Software Facet]] | ||
+ | | Software available in the E-Service environment that characterizes the specific E-Service instance. | ||
|- | |- | ||
− | | | + | | [[#Running_Plugin|Running Plugin]] |
+ | | [[#isIdentifiedBy|isIdentifiedBy]] '''1..1''' [[#Software_Facet|Software Facet]] | ||
+ | | The software enabling the Running Plugin | ||
|- | |- | ||
− | | | + | | [[#Hosting_Node|Hosting Node]] |
+ | | [[#consistsOf|consistsOf]] | ||
+ | | align=center | 0..n | ||
+ | | [[#Software_Facet|Software Facet]] | ||
+ | | E.g. to report the hosted software that are not registered in the Resource Registry as Software Resource, e.g. Operating System. | ||
|- | |- | ||
− | | | + | | [[#Virtual_Service|Virtual Service]] |
+ | | [[#isIdentifiedBy|isIdentifiedBy]] | ||
+ | | align=center | 1..n | ||
+ | | [[#Software_Facet|Software Facet]] | ||
|- | |- | ||
− | | | + | | [[#Software|Software]] |
+ | | [[#isIdentifiedBy|isIdentifiedBy]] | ||
+ | | align=center | 1..n | ||
+ | | [[#Software_Facet|Software Facet]] | ||
+ | | Software coordinates which identify the Software per se. | ||
|- | |- | ||
− | | | + | | [[#Software|Software]] |
+ | | [[#consistsOf|consistsOf]] | ||
+ | | align=center | 1..n | ||
+ | | [[#Software_Facet|Software Facet]] | ||
+ | | Any other software apart from the one connected with [[#isIdentifiedBy|isIdentifiedBy]] relation (gCube coordinates). | ||
|- | |- | ||
− | | | + | | [[#Plugin|Plugin]] |
+ | | [[#isIdentifiedBy|isIdentifiedBy]] | ||
+ | | align=center | 1..n | ||
+ | | [[#Software_Facet|Software Facet]] | ||
+ | | Software coordinates which identify the Plugin per se. | ||
|} | |} | ||
Line 1,064: | Line 1,214: | ||
|+ <code>Abstract</code> State Facet <code>extends</code> [[#Facet|Facet]] | |+ <code>Abstract</code> State Facet <code>extends</code> [[#Facet|Facet]] | ||
|- | |- | ||
− | | colspan= | + | | colspan=5 | This facet captures information on state to be associated with the resource. State is captured by any controlled vocabulary which is an integral part of the facet. |
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Properties |
|- | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
− | |||
! Attributes | ! Attributes | ||
+ | ! colspan=2 | Description | ||
|- | |- | ||
| value | | value | ||
Line 1,083: | Line 1,233: | ||
| <code>Mandatory=true</code><br/> <code>NotNull=true</code> | | <code>Mandatory=true</code><br/> <code>NotNull=true</code> | ||
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Known Usage |
|- | |- | ||
− | | | + | | [[#Software|Software]] |
+ | | [[#consistsOf|consistsOf]] | ||
+ | | align=center | 1..n | ||
+ | | [[#State_Facet|State Facet]] | ||
+ | | E.g. Deprecated, Active, Obsolete | ||
|} | |} | ||
Line 1,093: | Line 1,247: | ||
|+ Container State Facet <code>extends</code> [[#Facet|Facet]] | |+ Container State Facet <code>extends</code> [[#Facet|Facet]] | ||
|- | |- | ||
− | | colspan= | + | | colspan=5 | This facet captures information on the operational status of the container, i.e. the |
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Properties |
|- | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
− | |||
! Attributes | ! Attributes | ||
+ | ! colspan=2 | Description | ||
|- | |- | ||
| value | | value | ||
Line 1,107: | Line 1,261: | ||
| <code>Mandatory=true</code> <br/><code>NotNull=true</code> <br/><code>Regex=(started<nowiki>|</nowiki>ready<nowiki>|</nowiki>certified<nowiki>|</nowiki>down<nowiki>|</nowiki>failed)</code> | | <code>Mandatory=true</code> <br/><code>NotNull=true</code> <br/><code>Regex=(started<nowiki>|</nowiki>ready<nowiki>|</nowiki>certified<nowiki>|</nowiki>down<nowiki>|</nowiki>failed)</code> | ||
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Known Usage |
|- | |- | ||
− | | | + | | [[#Hosting_Node|Hosting Node]] |
+ | | [[#consistsOf|consistsOf]] (1..1) [[#Container_State_Facet|Container State Facet]] | ||
+ | | an Hosting node can be started, ready, certified, down, failed. | ||
|} | |} | ||
Line 1,117: | Line 1,273: | ||
|+ Service State Facet <code>extends</code> [[#Facet|Facet]] | |+ Service State Facet <code>extends</code> [[#Facet|Facet]] | ||
|- | |- | ||
− | | colspan= | + | | colspan=5 | This facet captures information on the operational state of the service it is associated with. |
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Properties |
|- | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
− | |||
! Attributes | ! Attributes | ||
+ | ! colspan=2 | Description | ||
|- | |- | ||
| value | | value | ||
Line 1,131: | Line 1,287: | ||
| <code>Mandatory=true</code> <br/><code>NotNull=true</code> <br/><code>Regex=(STARTED<nowiki>|</nowiki>ready<nowiki>|</nowiki>down<nowiki>|</nowiki>failed)</code> | | <code>Mandatory=true</code> <br/><code>NotNull=true</code> <br/><code>Regex=(STARTED<nowiki>|</nowiki>ready<nowiki>|</nowiki>down<nowiki>|</nowiki>failed)</code> | ||
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Known Usage |
|- | |- | ||
− | | | + | | [[#E-Service|E-Service]] |
+ | | [[#consistsOf|consistsOf]] (1..1) [[#Service_State_Facet|Service State Facet]] | ||
+ | | An E-Service can be STARTED, ready, down, failed. | ||
|} | |} | ||
Line 1,141: | Line 1,299: | ||
|+ Subject Facet <code>extends</code> [[#Facet|Facet]] | |+ Subject Facet <code>extends</code> [[#Facet|Facet]] | ||
|- | |- | ||
− | | colspan= | + | | colspan=5 | This facet captures information on subjects associated with the resource for description, classification and discovery purposes; |
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Properties |
|- | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
− | |||
! Attributes | ! Attributes | ||
+ | ! colspan=2 | Description | ||
|- | |- | ||
| value | | value | ||
Line 1,160: | Line 1,318: | ||
| <code>Mandatory=true</code> <br/><code>NotNull=true</code> | | <code>Mandatory=true</code> <br/><code>NotNull=true</code> | ||
|- | |- | ||
− | ! colspan= | + | ! colspan=5 | Known Usage |
|- | |- | ||
− | | | + | | [[#Dataset|Dataset]] |
+ | | [[#consistsOf|consistsOf]] (0..n) [[#Subject_Facet|Subject Facet]] | ||
|- | |- | ||
− | | | + | | [[#Schema|Schema]] |
+ | | [[#consistsOf|consistsOf]] (0..n) [[#Subject_Facet|Subject Facet]] | ||
|} | |} | ||
Revision as of 17:14, 7 October 2016
Basic Concepts
- Two typologies of entities are envisaged:
- Resources, i.e. entities representing a description of "thing" to be managed;
- Every Resource is characterised by a number of Facets.
- Facets, i.e. entities contributing to "build" a description of a Resource. Every facet, once attached to a Resource profile captures a certain aspect / characterization of the resource;
- Every facet is characterised by a number of properties;
- Resources, i.e. entities representing a description of "thing" to be managed;
- Two typologies of relations are envisaged:
- isRelatedTo, i.e. a relation linking any two Resources.
- consistsOf, i.e. a relation connecting each Resource with one of the Facets characterizing it;
- Each entity and relation
- has an header automatically generated for the sake of identification and provenance of the specific information;
- can be specialized
- A number of specializations are identified below. Such specializations are managed by the gCube Core services, i.e. Core services builds upon these specialization to realize its management tasks;
- Other specializations can be defined by clients, the system make it possible to store these additional typologies of relations and facets and to discover them.
- On relations:
- Any relation has a direction, i.e. a "source" (out bound of the relation) and a "target" (in bound of the relation). Anyway the relation can be also navigated in the opposite direction;
- It is not permitted to define a Relation having a Facet as "source". In other words:
- It is not permitted to define a Relation connecting a Facet with another one;
- It is not permitted to define a Relation connecting a Facet with a Resource (as target);
- A Facet instance can be linked (by consistsOf or any specialization of it) from different Resources.
Property
Any Property can be enriched with the following attributes:
- Name : Property Name
- Type : The Type of the Property (e.g. String, Integer, ...). See Property Type
- Description : The description of the Property.
default=null
. - Mandatory (M): Indicate if the Property is mandatory.
default=false
. - ReadOnly (RO): The Property cannot change its value.
default=false
. - NotNull (NN): Whether the property must assume a value diverse from 'null' or not.
default=false
- Max (Max):
default=null
- Min (Min):
default=null
- Regexpr (Reg)): A Regular Expression to validate the property value.
default=null
. A goog online tool for regex is avalable at https://regex101.com/
Property Type
Basic Property Type
Type | Java type | Description |
---|---|---|
Boolean | java.lang.Boolean or boolean
|
Handles only the values True or False |
Integer | java.lang.Integer or int or java.math.BigInteger
|
32-bit signed Integers |
Short | java.lang.Short or short
|
Small 16-bit signed integers |
Long | java.lang.Long or long
|
Big 64-bit signed integers |
Float | java.lang.Float or float
|
Decimal numbers |
Double | java.lang.Double or double
|
Decimal numbers with high precision |
Date | java.util.Date
|
Any date with the precision up to milliseconds. |
String | java.lang.String
|
Any string as alphanumeric sequence of chars |
Embedded | ? extends org.gcube.informationsystem.model.embedded.Embedded
|
This is an Object contained inside the owner Entity and has no Header. It is reachable only by navigating the owner Entity. |
Embedded list | List<? extends org.gcube.informationsystem.model.embedded.Embedded>
|
List of Objects contained inside the owner Entity and have no Header. They are reachable only by navigating the owner Entity. |
Embedded set | Set<? extends org.gcube.informationsystem.model.embedded.Embedded>
|
Set (no duplicates) of Objects contained inside the owner Entity and have no Header. They are reachable only by navigating the owner Entity. |
Embedded map | Map<String, ? extends org.gcube.informationsystem.model.embedded.Embedded>
|
Map of Objects contained inside the owner Entity and have no Header. They are reachable only by navigating the owner Entity. |
Byte | java.lang.Byte or byte
|
Single byte. usesful to store small 8-bit signed integers |
Binary | java.lang.Byte[] or byte[]
|
Can contain any value as byte array |
Derived Property Type
The following are obtained using a String as real type and adding a validation regex.
Type | Java type | Description |
---|---|---|
Enum | java.lang.Enum or enum
|
by default it is represented using the String representation of the Enum. So that the primitive type used will be String. The enumeration is checked by setting Regexpr property. The Regular Expression is auto-generated and it will be something like ^(FIRST-ENUM-STRING_REPRESENTATION|SECOND-ENUM-STRING_REPRESENTATION|...|LAST_ENUM_STRING_REPRESENTATION)$ .
Otherwise (if indicated using an annotation), it can be represented using the Integer value of the Enum. So that the primitive type used will be Integer. The enumeration is checked using |
UUID | java.util.UUID
|
String representation of the UUID. The check is obtained using the regular expression ^([a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}){1}$
|
URL | java.net.URL
|
String representation of the URL. No check actually. |
URI | java.net.URI
|
String representation of the URI. No check actually. |
Header
Every Entity and Relation has an Header automatically filled by the System. The Header has the following properties:
Name | Type | Attributes | Description |
---|---|---|---|
uuid | UUID | Mandatory=true NotNull=true ReadOnly=true
|
This uuid can be used to univocally identify the Entity or the Relation |
creator | String | Mandatory=true NotNull=true ReadOnly=true
|
Filled at creation time. The creator is retrieved using the authorization token |
creationTime | Date | Mandatory=true NotNull=true ReadOnly=true
|
Creation time in milliseconds. Represent the difference, measured in milliseconds, between the creation time and midnight, January 1, 1970 UTC |
lastUpdateTime | Date | Mandatory=true NotNull=true
|
Last Update time in milliseconds. Represent the difference, measured in milliseconds, between the last update time and midnight, January 1, 1970 UTC |
Resources and (isRelatedTo) Relations
Facets
Early ideas and thinking on facets were documented at 2nd Generation Resource Model : Facets
Facet
Facets are collections of attributes conceived to capture a certain feature / aspect of the Resource they are associated with.
Every Facet has:
- An Header automatically generated to capture identification- and provenace-related aspects of the facet once it is instantiated;
- Zero or more properties. Besides the per-facet envisaged properties, clients can add new ones.
Access Point Facet
Goal: This facet captures information on an “access point” of a resource, i.e. any web-based endpoint to programmatically interact with the resource via a known protocol. | ||||
Properties | ||||
---|---|---|---|---|
Name | Type | Attributes | Description | |
entryName | String | A distinguishing string to be used by clients to identify the access point of interest; | ||
endpoint | URI | Mandatory=true ReadOnly=true NotNull=true
|
The URI which characterizes the specific endpoint instance; | |
protocol | String | The high-level protocol used by the access point. The String could contains the version if needed. E.g. WMS not http which is already contained in URI. | ||
description | String | A human oriented text accompanying the access point. | ||
authorization | String | Contains authorization information. E.g: a token, username:password. By relying on schema it should be sufficient to capture also whether the content is encrypted or not | ||
authorizationSchema | URI | URI of the Schema to be used for a proper interpretation of the authorization value. | ||
properties | String | This can be an arbitrarily complex element whose "structure" is defined by the associated schema | ||
propertiesSchema | URI | URI of the Schema to be used for a proper interpretation of the properties value. | ||
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
Dataset | consistsOf | 0..n | Access Point Facet | Each access point captures a possible web-based method for accessing the dataset. Any embargo-related information can be captured by the access policy property of the consistsOf. |
Concrete Dataset | consistsOf | 1..n | Access Point Facet | Each access point captures a possible web-based method for accessing the dataset. Any embargo-related information can be captured by the access policy property of the consistsOf. |
E-Service | consistsOf | 1..n | Access Point Facet | Each access point captures a possible web-based method for accessing the service. |
Software | consistsOf | 1..n | Access Point Facet | Each access point captures a possible web-based method for accessing a software manifestation. Examples are links to maven artifact on nexus, javadoc, wiki, svn, etc. |
Capability Facet
Goal: This facet captures a defined facility for performing a specified task supported by a given Service or Software; | ||||
Properties | ||||
---|---|---|---|---|
Name | Type | Attributes | Description | |
name | String | Mandatory=true ReadOnly=true NotNull=true
|
The distinguishing name of the capability. | |
description | String | A human oriented description of the capability; | ||
qualifier | String | A string used to specialize the capability; | ||
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
Service | hasCapability | 0..n | Capability Facet | To capture one of the facilities supported by the Service; |
Software | hasCapability | 0..n | Capability Facet | To capture one of the facilities supported by the Software; |
Contact Facet
Goal: This facet captures information on a point of contact for the resource, i.e. a person or a department serving as the coordinator or focal point of information concerning the resource. As you can see in the known usages part, there are diverse points of contact that can be associated to a given resource and the role of the association is captured by using a specific relation. | ||||
Properties | ||||
---|---|---|---|---|
Name | Type | Attributes | Description | |
title | String | Mandatory=false
|
A name describing the profession or marital status of the point of contact. E.g. Dr, Mrs, Mr. | |
name | String | Mandatory=true NotNull=true
|
First Name | |
middleName | String | Mandatory=false
|
Middle Name | |
surname | String | Mandatory=true NotNull=true
|
Surname | |
String | Mandatory=true NotNull=true Regex=^[a-z0-9._%+-]{1,128}@[a-z0-9.-]{1,128}
|
A restricted range of RFC‑822 compliant email address. Please note that just domain based email address are accepted (not IP based). Please also note that new TLD are also accepted (e.g luca@google without .com which is a valid email address). You can test here the provided regular expression with your input email address https://regex101.com/ before open a ticket. | ||
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
Actor | isIdentifiedBy | 1..n | Contact Facet | An Actor must have at least a primary point of contact which will be used for identification purposes. |
Actor | hasContact | 0..n | Contact Facet | An Actor can have an arbitrary number of points of contact which provide secondary contact information. |
Legal Body | isIdentifiedBy | 1..n | Contact Facet | A Legal Body must have at least a point of contact which permit to identify the Legal Body per se. |
Person | isIdentifiedBy | 1..n | Contact Facet | A Person must have at least a point of contact which permit to identify the Person per se. |
Dataset | hasContact | 1..n | Contact Facet | A Dataset must have at least a point of contact to be used to acquire information on it. |
Dataset | hasContributor | 0..n | Contact Facet | One of the dataset contributors; |
Dataset | hasCreator | 0..n | Contact Facet | One of the dataset creators; |
Dataset | hasCurator | 0..n | Contact Facet | One of the dataset curators; |
Dataset | hasMaintainer | 0..n | Contact Facet | One of the dataset maintainers; |
Dataset | hasOwner | 0..n | Contact Facet | One of the dataset owners; |
Concrete Dataset | hasMaintainer | 1..n | Contact Facet | |
Schema | hasContact | 1..n | Contact Facet | |
Site | hasContact | 1..n | Contact Facet | |
Site | hasMaintainer | 1..n | Contact Facet | |
Site | hasManager | 1..n | Contact Facet |
Contact Reference Facet
'Goal: This facet captures information on the primary and authoritative contact for the resource it is associated with. | ||||
Properties | ||||
---|---|---|---|---|
Name | Type | Attributes | Description | |
website | URL | The main website | ||
address | String | A physical address | ||
phone | String | A phone number | ||
Known Usage | ||||
Actor | consistsOf | 0..n | Contact Reference Facet | The primary contact information for the Actor it is attached to; |
Legal Body | consistsOf | 0..n | Contact Reference Facet | The primary contact information for the Legal Body it is attached to; |
Person consistsOf | 0..n | Contact Reference Facet | The primary contact information for the Person it is attached to; |
Coverage Facet
This facet captures information on the extent of the Resource, i.e. any aspect aiming at capturing an indicator of the amount/area the resource covers be it a geospatial area, a temporal area, or any other "area". | ||||
Properties | ||||
---|---|---|---|---|
Name | Type | Attributes | Description | |
value | String | Mandatory=true NotNull=true
|
The amount indicating the "area" covered by the dataset according to the reference schema; | |
schema | URI | Mandatory=true NotNull=true
|
The reference schema to be used to interpret the value; | |
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
Dataset | hasCoverage | 1..n | Coverage Facet | |
Dataset | hasTemporalCoverage | 0..n | Coverage Facet | any temporal coverage characterising the dataset content; |
Dataset | hasSpatialCoverage | 0..n | Coverage Facet | any spatial coverage characterising the dataset content; |
CPU Facet
This facet captures information on the Central Processing Unit of the resource it is associated. | ||||
Properties | ||||
---|---|---|---|---|
Name | Type | Attributes | Description | |
model | String | Mandatory=true NotNull=true
|
CPU Model | |
vendor | String | Mandatory=true NotNull=true
|
CPU Vendor | |
clockSpeed | String | Mandatory=true NotNull=true
|
Clock Speed with the unit | |
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
Hosting Node | consistsOf | 1..n | CPU Facet: |
Descriptive Metadata Facet
This facet captures information on descriptive metadata to be associated with teh resource | ||||
Properties | ||||
---|---|---|---|---|
Name | Type | Attributes | Description | |
value | String | A metadata record representing the descriptive metadata and encoded according to the reference schema; | Mandatory=true NotNull=true
| |
schema | URI | The reference schema to be used to interpret the value attribute; | Mandatory=true NotNull=true
| |
Known Usage | ||||
Dataset | consistsOf | 0..n | Descriptive Metadata Facet | |
Schema | consistsOf | 0..n | Descriptive Metadata Facet |
Event Facet
This facet captures information on a certain event / happening characterising the life cycle of the resource. | ||||
Properties | ||||
---|---|---|---|---|
Name | Type | Attributes | Description | |
date | Calendar | The time the event took place / occurred; | Mandatory=true NotNull=true
| |
value | String | The typology of event according to the reference schema; | Mandatory=true NotNull=true
| |
schema | URI | The reference schema to be used to interpret the value describing the event; | ||
Known Usage | ||||
Dataset | consistsOf | 0..n | Event Facet | |
E-Service | consistsOf | 1..n | Event Facet | E.g. ActivationTime, DeploymentTime |
Hosting Node | consistsOf | 1..n | Event Facet |
Identifier Facet
Goal: This facet captures information on Identifiers (other than the ones automatically generated by the system) that can be attached to a resource. | ||||
Properties | ||||
---|---|---|---|---|
Name | Type | Attributes | Description | |
value | String | The identifier. E.g. http://fr.dbpedia.org/resource/Thunnus de305d54-75b4-431b-adb2-eb6b9e546014 | Mandatory=true NotNull=true
| |
type | Enumeration | The typology of identifier. I.e. URI, DOI, IRI, URL, URN, UUID; | Mandatory=true NotNull=true
| |
isPersistent | boolean | To indicate whether the Identifier is persistent or not. | Mandatory=true NotNull=true
| |
Known Usage | ||||
Configuration Template | isIdentifiedBy | 1..n | Identifier Facet | |
Configuration | isIdentifiedBy | 1..n | Identifier Facet | |
Dataset | isIdentifiedBy | 1..n | Identifier Facet | |
Concrete Dataset | isIdentifiedBy | 1..n | Identifier Facet | |
Site | isIdentifiedBy | 1..n | Identifier Facet |
License Facet
Goal: This facet captures information on any license associated with the resource to capture the policies governing its exploitation and use. | ||||
Properties | ||||
---|---|---|---|---|
Name | Type | Attributes | Description | |
name | String | The common name of the license. E.g. EUPL 1.1, GPLv2, BSD; | Mandatory=true NotNull=true
| |
textURL | URL | The URL to the actual text of the license. | Mandatory=true NotNull=true
| |
Known Usage | ||||
Dataset | consistsOf | 0..n | License Facet | The duration of license - if any - can be captured by the expiry date defined in the consistsOf relation. |
E-Service | consistsOf | 0..n | License Facet | |
Software | consistsOf | 1..n | License Facet |
Location Facet
The goal of this facet is to collect information about Location
Goal: This facet captures information on a physical area characterising the resource it is associated with. This should not be confused with Coverage Facet. | ||||
Properties | ||||
---|---|---|---|---|
Name | Type | Attributes | Description | |
country | String | The English name of the country. See http://data.okfn.org/data/core/country-list | ||
location | String | The City name. | ||
latitude | String | Latitude | ||
longitude | String | Longitude | ||
Known Usage | ||||
Site | consistsOf | 1..n | Location Facet | the base where the site is operated; |
Memory Facet
Goal: This facet captures information on computer memory equipping the resource and its usage. | ||||
Properties | ||||
---|---|---|---|---|
Name | Type | Attributes | Description | |
size | Long | Total amount of memory. | Mandatory=true NotNull=true
| |
used | Long | used amount of memory. | Mandatory=true NotNull=true
| |
unit | Enum | The unit of measure used to report size and used attributes. Allowed values are Byte, kB (kilobyte 10^3), MB (megabyte 10^6), GB (gigabyte 10^9), TB (terabyte 10^12), PB (petabyte 10^15), EB (exabyte 10^18), ZB (zettabyte 10^21), YB (yottabyte 10^24) | Mandatory=true NotNull=true
| |
Known Usage | ||||
Hosting Node | hasPersistentMemory | 1..n | Memory Facet | The Disk Space allocated to the hosting node; |
Hosting Node | hasVolatileMemory | 1..n | Memory Facet | The RAM allocated to the hosting node; |
Networking Facet
This facet captures information on any (computer) network interface/access point associated with the resource. | ||||
Properties | ||||
---|---|---|---|---|
Name | Type | Attributes | Description | |
hostName | String | Host Name | ||
domainName | String | Domain Name | ||
IPAddress | String | IP Address. Validation regular expression ca be foun at http://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses#answer-1934546 (Michael Rushton solution) | Mandatory=true
| |
mask | String | Network Mask | ||
broadcastAddress | String | Broadcast Address | ||
Known Usage | ||||
Hosting Node | isIdentifiedBy | 1..n | Networking Facet | |
Site | consistsOf | 1..n | Networking Facet |
Provenance Facet
Goal: This facet captures information on provenance/lineage of the entire resource. | ||||
Properties | ||||
---|---|---|---|---|
Name | Type | Attributes | Description | |
relationship | Enum | I.e. wasDerivedFrom, wasGeneratedBy | ||
reference | String | resourceID (a reference to the "originator" Resource associated to the resource the facet is attached to by the relationship) | ||
document | String | Provenance Document E.g. the xml format | ||
documentSchema | URI | Document Schema E.g. a reference to the format | ||
Known Usage | ||||
Dataset | consistsOf | 0..n | Provenance Facet |
Schema Facet
This facet captures information on any schema associated with a reosurce. | ||||
Properties | ||||
---|---|---|---|---|
Name | Type | Attributes | Description | |
name | String | Schema Name | Mandatory=true NotNull=true
| |
description | String | Schema Description | Mandatory=true NotNull=true
| |
schemaURL | URL | Schema definition URL (recommended) | ||
Known Usage | ||||
Schema | isIdentifiedBy | 1..n | Schema Facet |
JSON Schema Facet
Even is still under standardization (seems stalled) IETF is promoting a de-facto standard for JSON http://json-schema.org/. https://tools.ietf.org/html/draft-zyp-json-schema-04 https://tools.ietf.org/html/draft-fge-json-schema-validation-00 https://tools.ietf.org/html/draft-luff-json-hyper-schema-00
This facet captures information on a JSON schema associated with a resource. | ||||
Properties | ||||
---|---|---|---|---|
Name | Type | Attributes | Description | |
content | Embedded | JSON schema definition | Mandatory=true NotNull=true
| |
Known Usage | ||||
Schema | isIdentifiedBy | 0..n | JSON Schema Facet |
XSD Schema Facet
This facet captures information on any XML Schema Definition (XSD) associated with the resource. | ||||
Properties | ||||
---|---|---|---|---|
Name | Type | Attributes | Description | |
content | String | XSD Schema Definition | Mandatory=true NotNull=true
| |
Known Usage | ||||
Schema | isIdentifiedBy | 0..n | XSD Schema Facet |
Simple Property Facet
Goal: This facet captures information on any property by a simple name-value pair. | ||||
Properties | ||||
---|---|---|---|---|
Name | Type | Attributes | Description | |
name | String | Name | Mandatory=true NotNull=true
| |
value | String | Value | Mandatory=true NotNull=true
| |
Known Usage | ||||
Configuration Template | consistsOf | 1..n | Simple Property Facet | |
Hosting Node | consistsOf | 0..n | Simple Property Facet | Environment Variables] |
Software Facet
Goal: This facet captures information on any software associated with the resource. | ||||
Properties | ||||
---|---|---|---|---|
Name | Type | Attributes | Description | |
name | String | The name of the software artefact being described. E.g. artifactId in maven, Service Name in gCube software, the software name for retail software Microsoft Office 2013-SP2. | Mandatory=true NotNull=true
| |
group | String | The name of "group" the software artefact belongs to. E.g. groupId in Maven, ServiceClass in gCube software, company name for retail software Microsoft Office 2013-SP2. | Mandatory=true NotNull=true
| |
version | String | The particular release of the software artefact. E.g. maven version, Service Version in gCube software, artifactId in maven, the software version for retail software Microsoft Office 2013-SP2. | Mandatory=true NotNull=true
| |
description | String | A human oriented description of the software artefact being described. | ||
qualifier | String | E.g. packaging or scope in maven, scope level or sharable level in gCube software, target architecture for retail software x86 or amd64. | ||
optional | Boolean | E.g. used to indicate an optional dependency both in maven as far as in gCube. | ||
Known Usage | ||||
E-Service | isIdentifiedBy | 1..n | Software Facet | The software enabling the E-Service capabilities |
E-Service | consistsOf | 0..n | Software Facet | Software available in the E-Service environment that characterizes the specific E-Service instance. |
Running Plugin | isIdentifiedBy 1..1 Software Facet | The software enabling the Running Plugin | ||
Hosting Node | consistsOf | 0..n | Software Facet | E.g. to report the hosted software that are not registered in the Resource Registry as Software Resource, e.g. Operating System. |
Virtual Service | isIdentifiedBy | 1..n | Software Facet | |
Software | isIdentifiedBy | 1..n | Software Facet | Software coordinates which identify the Software per se. |
Software | consistsOf | 1..n | Software Facet | Any other software apart from the one connected with isIdentifiedBy relation (gCube coordinates). |
Plugin | isIdentifiedBy | 1..n | Software Facet | Software coordinates which identify the Plugin per se. |
State Facet
The goal of this facet is to ...
This facet captures information on state to be associated with the resource. State is captured by any controlled vocabulary which is an integral part of the facet. | ||||
Properties | ||||
---|---|---|---|---|
Name | Type | Attributes | Description | |
value | String | The value of the state expressed according to the schema below; | Mandatory=true NotNull=true
| |
schema | URI | The schema that have been used to assign the state value and that must be used to properly interpret it; | Mandatory=true NotNull=true
| |
Known Usage | ||||
Software | consistsOf | 1..n | State Facet | E.g. Deprecated, Active, Obsolete |
Container State Facet
This facet captures information on the operational status of the container, i.e. the | ||||
Properties | ||||
---|---|---|---|---|
Name | Type | Attributes | Description | |
value | String | The value of the state | Mandatory=true NotNull=true Regex=(started|ready|certified|down|failed)
| |
Known Usage | ||||
Hosting Node | consistsOf (1..1) Container State Facet | an Hosting node can be started, ready, certified, down, failed. |
Service State Facet
This facet captures information on the operational state of the service it is associated with. | ||||
Properties | ||||
---|---|---|---|---|
Name | Type | Attributes | Description | |
value | String | The value of the state | Mandatory=true NotNull=true Regex=(STARTED|ready|down|failed)
| |
Known Usage | ||||
E-Service | consistsOf (1..1) Service State Facet | An E-Service can be STARTED, ready, down, failed. |
Subject Facet
This facet captures information on subjects associated with the resource for description, classification and discovery purposes; | ||||
Properties | ||||
---|---|---|---|---|
Name | Type | Attributes | Description | |
value | String | The value of the subject. Must be compliant with schema. | Mandatory=true NotNull=true
| |
schema | URI | The URI of the schema subject value comes from. It is only an informative field. It is not used for validation from IS part. | Mandatory=true NotNull=true
| |
Known Usage | ||||
Dataset | consistsOf (0..n) Subject Facet | |||
Schema | consistsOf (0..n) Subject Facet |
Relations
Every relation has:
- An Header
- A Relation Property
- Zero or More properties (not necessarily predefined, similarly to Facets).
Relation Property
Name | Type | Description |
---|---|---|
referentialIntegrity | Enum | I.e. onDeleteCascadeWhenOrphan, onDeleteCascade, onDeleteKeep. The meaning is related to the relation direction. |
accessPolicy | Embedded (i.e. AccessPolicy) | A policy is characterized by a name, a description, and the period ([start], [end]) when the policies apply |
expiryTime | Long | The expiry date can be used to model the time until the relationship is valid, Expiry time in milliseconds. Represent the difference, measured in milliseconds, between the creation time and midnight, January 1, 1970 UTC |
isRelatedTo
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Resource | isRelatedTo | 0..n | Resource |
belongsTo
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Person | belongsTo | 0..n | Legal Body | ... |
callsFor
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Service | callsFor | 0..n | Service |
demands
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Virtual Service | demands | 0..n | Software |
dependsOn
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Software | dependsOn | 0..n | Software |
discovers
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
E-Service | discovers | 0..n | E-Service |
hosts
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Hosting Node | hosts | 0..n | E-Service |
involves
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Dataset | involves | 0..n | Actor |
isActivatedBy
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Running Plugin | isActivatedBy | 1..1 | E-Service |
isCompliantWith
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Dataset | isCompliantWith | 0..n | Schema |
isConfiguredBy
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Software | isConfiguredBy | 0..n | Configuration Template |
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Dataset | isCorrelatedTo | 0..n | Dataset |
isPartOf
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Concrete Dataset | isPartOf | 0..n | Dataset |
isCustomizedBy
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Service | isCustomizedBy | 0..n | Configuration |
isDerivationOf
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Configuration | isDerivationOf | 1..1 | Configuration Template |
isManagedBy
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Hosting Node | isManagedBy | 0..n | Site |
isOwnedBy
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Site | isOwnedBy | 0..n | Actor |
isPluginOf
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Plugin | isPluginOf | 1..n | Software |
isPoweredBy
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Hosting Node | isPoweredBy | 0..n | Software |
manages
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Service | manages | 0..n | Dataset |
requires
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Software | requires | 0..n | Service |
runs
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
E-Service | runs | 0..n | Software |
runsPlugin
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Running Plugin | runsPlugin | 1..1 | Plugin |
uses
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
E-Service | uses | 0..n | E-Service |
consistsOf
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Resource | consistsOf | 1..n | Facet |
isIdentifiedBy
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Definition | ||||
Resource | isIdentifiedBy | 1..n | Facet | |
Known Usage | ||||
Actor | isIdentifiedBy | 1..n | Contact Facet | |
Legal Body | isIdentifiedBy | 1..n | Contact Facet | |
Person | isIdentifiedBy | 1..n | Contact Facet | |
Configuration Template | isIdentifiedBy | 1..n | Identifier Facet | |
Configuration | isIdentifiedBy | 1..n | Identifier Facet | |
Dataset | isIdentifiedBy | 1..n | Identifier Facet | |
Concrete Dataset | isIdentifiedBy | 1..n | Identifier Facet | |
Service | isIdentifiedBy | 1..n | Facet | |
Virtual Service | isIdentifiedBy | 1..n | Software Facet | ... |
E-Service | isIdentifiedBy | 1..1 | Software Facet | ... |
Schema | isIdentifiedBy | 1..n | Identifier Facet | ... |
Site | isIdentifiedBy | 1..n | Identifier Facet | ... |
Software | isIdentifiedBy | 1..n | Software Facet | Software coordinates which identify the Software per se. |
Plugin | isIdentifiedBy | 1..n | Software Facet | Software coordinates which identify the Plugin per se. |
hasCapability
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Definition | ||||
Resource | hasCapability | 0..n | Capability Facet | |
Known Usage | ||||
Service | hasCapability | 0..n | Capability Facet | |
Software | hasCapability | 0..n | Capability Facet |
hasContact
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Definition | ||||
Resource | hasContact | 0..n | Contact Facet | |
Known Usage | ||||
Dataset | hasContact | 1..n | Contact Facet | ... |
hasContributor
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Definition | ||||
Resource | hasContributor | 0..n | Contact Facet | |
Known Usage | ||||
Dataset | hasContributor | 0..n | Contact Facet | Is he the contributor |
hasCreator
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Definition | ||||
Resource | hasCreator | 0..n | Contact Facet | |
Known Usage | ||||
Dataset | hasCreator | 0..n | Contact Facet | Is he the creator |
hasCurator
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Definition | ||||
Resource | hasCurator | 0..n | Contact Facet | |
Known Usage | ||||
Dataset | hasCurator | 0..n | Contact Facet | Is he the curator |
hasDeveloper
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Definition | ||||
Resource | hasDeveloper | 0..n | Contact Facet | |
Known Usage |
hasMaintainer
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Definition | ||||
Resource | hasMaintainer | 0..n | Contact Facet | |
Known Usage | ||||
Dataset | hasMaintainer | 0..n | Contact Facet | Is he the maintainer |
hasManager
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Definition | ||||
Resource | hasManager | 0..n | Contact Facet | |
Known Usage |
hasOwner
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Definition | ||||
Resource | hasOwner | 0..n | Contact Facet | |
Known Usage | ||||
Dataset | hasOwner | 0..n | Contact Facet | Is he the owner |
hasCoverage
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Definition | ||||
Resources | hasCoverage | 0..n | Coverage Facet | ... |
Known Usage | ||||
Dataset | hasCoverage | 1..n | Coverage Facet | ... |
hasSpatialCoverage
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Definition | ||||
Resources | hasSpatialCoverage | 0..n | Coverage Facet | ... |
Known Usage | ||||
Dataset | hasSpatialCoverage | 0..n | Coverage Facet | ... |
hasTemporalCoverage
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Definition | ||||
Resources | hasTemporalCoverage | 0..n | Coverage Facet | ... |
Known Usage | ||||
Dataset | hasTemporalCoverage | 0..n | Coverage Facet | ... |
hasMemory
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Definition | ||||
Resources | hasMemory | 0..n | Memory Facet | ... |
hasPersistentMemory
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Definition | ||||
Resources | hasPersistentMemory | 0..n | Memory Facet | ... |
Known Usage | ||||
Hosting Node | hasPersistentMemory | 1..n | Memory Facet | Disk Space |
hasVolatileMemory
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Definition | ||||
Resources | hasVolatileMemory | 0..n | Memory Facet | ... |
Known Usage | ||||
Hosting Node | hasVolatileMemory | 1..n | Memory Facet | RAM |
Resources
Every Resource has:
A class can be identified as Abstract
. This means that cannot be instantiated. It is expected that one of its specializations are instantiated.
It is not required that an Abstract class establishes an isIdentifiedBy relation with a Facet.
Resource
Scope: This entity is conceived to describe every "main thing" to be registered and discovered by the Information System. | |||
Relation | Multiplicity | Target | Description |
---|---|---|---|
Facets | |||
isIdentifiedBy | 1..n | Facet | Any Resource has at least one Facet which in some way allow to identify the Resource per se. |
consistsOf | 0..n | Facet | Any Resource consist of zero or more Facets which describes the different aspects of the facet. |
Relations | |||
isRelatedTo | 0..n | Resource | Any Resource can be related to any other resource. |
Actor
Scope: Any entity (human or machine) playing an active role. | |||
Relation | Multiplicity | Target | Description |
---|---|---|---|
Facets | |||
isIdentifiedBy | 1..n | Contact Facet | An Actor has at least a Contact Facet which permit to identify the Actor per se. |
hasContact | 0..n | Contact Facet | An Actor can have other Contact Facets which provide secondary contact information. |
consistsOf | 0..n | Contact Reference Facet | |
Relations | |||
Dataset involves (0..n) Actor: ? | |||
Site isOwnedBy (0..n) Actor: The |
Legal Body
Scope: A legal entity playing the role of an Actor. | |||
Relation | Multiplicity | Target | Description |
---|---|---|---|
Facets | |||
isIdentifiedBy | 1..n | Contact Facet | A Legal Body has at least a Contact Facet which permit to identify the Legal Body per se. |
consistsOf | 0..n | Contact Reference Facet | |
Relations | |||
Person belongsTo (0..n) Legal Body |
Person
Scope: Any human playing the role of Actor. | |||
Relation | Multiplicity | Target | Description |
---|---|---|---|
Facets | |||
isIdentifiedBy | 1..n | Contact Facet | A Person has at least a Contact Facet which permit to identify the Person per se. |
consistsOf | 0..n | Contact Reference Facet | |
Relations | |||
Person belongsTo (0..n) Legal Body |
Configuration Template
Scope: It represents a template for a configuration. It describe how a configuration has to be realized. E.g. Used to define the accounting configuration parameters template. | |||
Relation | Multiplicity | Target | Description |
---|---|---|---|
Facets | |||
isIdentifiedBy | 1..n | Identifier Facet | ... |
consistsOf | 1..n | Simple Property Facet | ... |
Relations | |||
Configuration isDerivationOf (1..1) Configuration Template | |||
Software isConfiguredBy (0..n) Configuration Template |
Configuration
Scope: An instance of a configuration template characterising the behaviour and shape of the resource it is attached to; | |||
Relation | Multiplicity | Target | Description |
---|---|---|---|
Facets | |||
isIdentifiedBy | 1..n | Identifier Facet | ... |
Relations | |||
Configuration isDerivationOf (1..1) Configuration Template | |||
Service isCustomizedBy (0..n) Configuration |
Dataset
Scope: Any set of digital objects representing data and treated collectively as a unit. | |||
Relation | Multiplicity | Target | Description |
---|---|---|---|
Facets | |||
isIdentifiedBy | 1..n | Identifier Facet | The set of Identifiers associated with the Dataset instance. |
hasContact | 1..n | Contact Facet | The contact information of the entity responsible for the dataset. |
hasContributor | 0..n | Contact Facet | The contact information on contributors supporting the creation and development of the Dataset. |
hasCreator | 0..n | Contact Facet | The contact information of the creator of the Dataset. |
hasCurator | 0..n | Contact Facet | The contact information of the entity responsible for the curation of the dataset; |
hasMaintainer | 0..n | Contact Facet | The contact information of the entity responsible for the maintenance of the dataset; |
hasOwner | 0..n | Contact Facet | The contact information of the entity having the ownership of the dataset; |
consistsOf | 0..n | Access Point Facet | The access point to use for having access to the dataset. The embargoState can be modeled through the access policy defined in the consistsOf relation. |
consistsOf | 0..n | License Facet | The licence governing dataset exploitation. The duration of license (if any) is captured by the expiry date defined in the consistsOf relation. |
consistsOf | 0..n | Event Facet | Any "event" characterising the lifecycle of the dataset, e.g. collection date, last collection date. |
consistsOf | 0..n | Provenance Facet | Any provenance record associated with the dataset; |
hasCoverage | 1..n | Coverage Facet | Any coverage related information (e.g. topic, species) characterising the content of the dataset. |
hasTemporalCoverage | 0..n | Coverage Facet | Any temporal coverage information characterising the content of the dataset, e.g. the time-span covered by the dataset; |
hasSpatialCoverage | 0..n | Coverage Facet | Any geo-spatial coverage information characterising the content of the dataset, e.g. the area covered by the dataset; |
consistsOf | 0..n | Descriptive Metadata Facet | Any descriptive information associated with the dataset, e.g. for discovery purposes. |
consistsOf | 0..n | Subject Facet | Any subject / tag associated with the dataset for descriptive and discovery purposes. |
Relations | |||
Dataset involves (0..n) Actor | |||
Dataset isCorrelatedTo (0..n) Dataset | |||
Dataset isCompliantWith (0..n) Schema: Any schema characterising the content of the dataset, e.g. the schema describing the 'columns' of a CSV-based dataset; | |||
Concrete Dataset isPartOf (0..n) Dataset: The reference to the 'incarnations' / 'manifestations' contributing to a dataset; | |||
Service manages (0..n) Dataset: The link between the service that 'manages' the dataset and the dataset, e.g. the service that hosts the dataset and give access to it; |
Concrete Dataset
Scope: Any incarnation / manifestation of a dataset or part of it; | |||
Relation | Multiplicity | Target | Description |
---|---|---|---|
Facets | |||
isIdentifiedBy | 1..n | Identifier Facet | The set of Identifiers associated with the Concrete Dataset instance. |
hasMaintainer | 1..n | Contact Facet | The contact information of the entity responsible for the maintenance of the concrete dataset; |
consistsOf | 1..n | Access Point Facet | The access point to use for having access to the concrete dataset. The embargoState can be modeled through the access policy defined in the consistsOf relation |
Relations | |||
Concrete Dataset isPartOf (0..n) Dataset: The reference to the Dataset the instance manifests / contribute to manifest. |
Schema
Scope: Any reference schema to be used to specify values compliant with it. Examples include controlled vocabularies, ontologies, | |||
Relation | Multiplicity | Target | Description |
---|---|---|---|
Facets | |||
isIdentifiedBy | 1..n | Schema Facet | |
isIdentifiedBy | 0..n | JSON Schema Facet | |
isIdentifiedBy | 0..n | XSD Schema Facet | |
hasContact | 1..n | Contact Facet | |
consistsOf | 0..n | Descriptive Metadata Facet | |
consistsOf | 0..n | Subject Facet | |
Relations | |||
Dataset isCompliantWith (0..n) Schema |
Service
Scope: An abstract entity to represent any typology of Service worth registering in the infrastructure. | |||
Relation | Multiplicity | Target | Description |
---|---|---|---|
Facets | |||
isIdentifiedBy | 1..n | Facet | |
consistsOf | 0..n | Descriptive Metadata Facet | Any descriptive information associated with the service, e.g. for discovery purposes. |
consistsOf | 0..n | Subject Facet | Any subject / tag associated with the service for descriptive, cataloguing and discovery purposes. |
hasCapability | 0..n | Capability Facet | |
Relations | |||
Service callsFor 0..n Service: | |||
Service isCustomizedBy 0..n Configuration: | |||
Service manages 0..n Dataset: | |||
Software requires 0..n Service: |
E-Service
Scope: Any working service that is registered in the infrastructure and made available by an Access Point. | |||
Relation | Multiplicity | Target | Description |
---|---|---|---|
Facets | |||
isIdentifiedBy | 1..n | Software Facet | The main software enabling the E-Service capabilities. |
consistsOf | 0..n | Software Facet | Software available in the E-Service environment that characterizes the specific E-Service instance. |
consistsOf | 1..n | Access Point Facet | Identify the endpoints of the E-Service |
consistsOf | 1..n | Event Facet | Events characterising the current status and lifecycle of the service, e.g. ActivationTime, DeploymentTime |
consistsOf | 1..1 | Service State Facet | The current status of the E-Service, e.g. STARTED, ready, down, failed |
consistsOf | 0..n | License Facet | The specific terms of use governing the exploitation of the E-Service. |
Relations | |||
E-Service discovers (0..n) E-Service: A reference to any other E-Service, the E-Service instance is discovering through query on IS. | |||
E-Service runs (0..n) Software: A reference to the Software the E-Service is running. TBD the relation between this and the facets above; | |||
E-Service uses (0..n) E-Service: A reference to any other E-Service, the E-Service instance is invoking. | |||
Hosting Node hosts (0..n) E-Service: A reference to the E-Services activated by a specific Hosting Node. | |||
Running Plugin isActivatedBy (1..1) E-Service: A reference to the E-Service that is running the specific plugin instance. |
Running Plugin
Scope: Any instance of a Plugin deployed and running by an E-Service. | |||
Relation | Multiplicity | Target | Description |
---|---|---|---|
Facets | |||
isIdentifiedBy | 1..1 | Software Facet | The software enabling the Running Plugin |
Relations | |||
Running Plugin isActivatedBy (1..1) E-Service: A reference to the E-Service is running the plugin. | |||
Running Plugin runsPlugin (0..n) Plugin |
Hosting Node
Scope: Any server\machine playing the role of "Hosting Node", i.e., being capable to host and operate an E-Service; | |||
Relation | Multiplicity | Target | Description |
---|---|---|---|
Facets | |||
isIdentifiedBy | 1..n | Networking Facet | The Network ID characterising the Hosting Node; |
consistsOf | 1..n | CPU Facet | The CPU equipping the Hosting Node; |
hasPersistentMemory | 1..n | Memory Facet | The Disk Space Capacity of the Hosting Node; |
hasVolatileMemory | 1..n | Memory Facet | The RAM Capacity of the Hosting Node; |
consistsOf | 1..n | Event Facet | Every event characterizing the life cycle of the Hosting Node, e.g. the activation time; |
consistsOf | 1..1 | Container State Facet | The current state of the Hosting Node, e.g. started, ready, certified, down, failed |
consistsOf | 0..n | Simple Property Facet | Any <key, value> pair property worth associating with the Hosting Node, e.g. Environment Variables |
consistsOf | 0..n | Software Facet | Any Software characterising the Hosting Node. Useful to report the hosted software that are not registered in the Resource Registry as Software Resource, e.g. Operating System |
Relations | |||
Hosting Node hosts (0..n) E-Service: A reference to any E-Service instance, the Hosting Node instance is hosting. | |||
Hosting Node isManagedBy (0..n) Site: The Site responsible for and contributing the Hosting Node; | |||
Hosting Node isPoweredBy (0..n) Software |
Virtual Service
Scope: An abstract service (non physically existing service) worth being represented as an existing Service for management purposes. Examples of usage include cases where classes or set of services are to be managed like an existing unit. | |||
Relation | Multiplicity | Target | Description |
---|---|---|---|
Facets | |||
isIdentifiedBy | 1..n | Software Facet | ??? |
Relations | |||
Virtual Service demands (0..n) Software Facet: THIS IS NOT OK / NOT SUFFICIENT | |||
Virtual Service demands (1..n) Service |
Site
Scope: An entity representing the location (physical or virtual) hosting and providing the resources associated with it. | |||
Relation | Multiplicity | Target | Description |
---|---|---|---|
Facets | |||
isIdentifiedBy | 1..n | Identifier Facet | The Site Identifier; |
hasContact | 1..n | Contact Facet | The main contact for the Site; |
hasMaintainer | 1..n | Contact Facet | Contact information of the maintainer of the Site; |
hasManager | 1..n | Contact Facet | Contact information of the Site Manager; |
consistsOf | 1..n | Location Facet | ... |
consistsOf | 1..n | Networking Facet | |
Relations | |||
Site isOwnedBy (0..n) Actor | |||
Hosting Node isManagedBy (0..n) Site |
Software
Scope: Any Software entity worth being represented for management purposes; | |||
Relation | Multiplicity | Target | Description |
---|---|---|---|
Facets | |||
isIdentifiedBy | 1..n | Software Facet | Software coordinates which identify the Software per se. |
consistsOf | 1..n | Software Facet | Apart the one connected by the isIdentifiedBy relation (gCube coordinates) the others identify the sw in other way e.g. (Maven coordinates) |
consistsOf | 1..n | Access Point Facet | Links to maven artifact on nexus, javadoc, wiki, svn ... |
consistsOf | 1..n | License Facet | The Software License characterizing its possible exploitation and use; |
consistsOf | 1..n | State Facet | The state characterising the software, e.g. Deprecated, Active, Obsolete |
hasCapability | 0..n | Capability Facet | |
Relations | |||
Software dependsOn (0..n) Software: to capture any dependency between two software artifacts. | |||
Software isConfiguredBy (0..n) Configuration Template: E.g. Accounting Sw uses it to discover the configuration | |||
Software requires (0..n) Service: to capture any dependency between a software artifact and a Service, e.g. A software requiring a specific database. | |||
Virtual Service demands (0..n) Software: CHECK #Service can be used instead of Software; | |||
E-Service runs (0..n) Software | |||
Hosting Node isPoweredBy (0..n) Software | |||
Plugin isPluginOf (0..n) Software: to capture the relation between a Software and its Plugins; |
Plugin
Scope: A piece of Software extending the capabilities of another Software (main) and requiring the main Software to be executed; | |||
Relation | Multiplicity | Target | Description |
---|---|---|---|
Facets | |||
isIdentifiedBy | 1..n | Software Facet | Software coordinates which identify the Plugin per se. |
Relations | |||
Plugin isPluginOf (1..n) Software: A reference to the Software this Plugin is conceived to extend the capabilities. | |||
Running Plugin runsPlugin (0..n) Plugin |
Best practices and guidelines
- On Facet instances "reuse" across Resource Profiles:
- This can be guaranteed automatically by the system, if and just in the case the system want to avoid duplication of information. It is based on a configuration policy;
- This MUST be done only when a change in a facet instance MUST affect a change in all Resources connected to such a Facet.
Suggested Extensions
The gCube Resource Model supports extensions at runtime meaning that new facets, relations, and resources can be defined and registered at any time by authorized clients. Those extensions must necessarily specialize an existing gCube Entity. An example of those specializations is the following:
Functionality Related Facet
The goal of this facet is to capture what are the facilities supported by the Service Entity and it aims to model the service interface.
Name | Type | Description | Attributes | |
---|---|---|---|---|
name | String | ... | ||
description | String | ... | ||
input | String | ... | ||
output | String | ... | ||
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
Service | consistsOf | 0..n | Functionality Related Facet | ... |
Internal Entity and Relation
For internal use only are defined the following entity and relation:
Context
Model a Context (aka scope)
isParentOf
Source | Target | Description |
---|---|---|
Context | Context |