Difference between revisions of "Facet Based Resource Model"
Luca.frosini (Talk | contribs) (→Access Point Facet) |
Luca.frosini (Talk | contribs) (→Facets) |
||
Line 196: | Line 196: | ||
{|class="wikitable" | {|class="wikitable" | ||
+ | |+ Facet | ||
+ | |- | ||
|+ Access Point Facet | |+ Access Point Facet | ||
|- | |- | ||
Line 202: | Line 204: | ||
! Description | ! Description | ||
! Attributes | ! Attributes | ||
+ | ! | ||
|- | |- | ||
| entryName | | entryName | ||
Line 207: | Line 210: | ||
| An unique identifier | | An unique identifier | ||
| | | | ||
+ | | | ||
|- | |- | ||
| endpoint | | endpoint | ||
Line 212: | Line 216: | ||
| The URI which identify the endpoint of a resource | | The URI which identify the endpoint of a resource | ||
| <code>Mandatory=true</code> <code>ReadOnly=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>ReadOnly=true</code> <code>NotNull=true</code> | ||
+ | | | ||
|- | |- | ||
| protocol | | protocol | ||
Line 217: | Line 222: | ||
| The high-level protocol used by the access point. The String could contains the version if needed. | | 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. | E.g. WMS not http which is already contained in URI. | ||
+ | | | ||
| | | | ||
|- | |- | ||
Line 223: | Line 229: | ||
| ..... | | ..... | ||
| | | | ||
+ | | | ||
|- | |- | ||
| authorization | | authorization | ||
| String | | 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 | | 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 | ||
+ | | | ||
| | | | ||
|- | |- | ||
Line 232: | Line 240: | ||
| URI | | URI | ||
| .... | | .... | ||
+ | | | ||
| | | | ||
|- | |- | ||
Line 237: | Line 246: | ||
| String | | String | ||
| This can be an arbitrarily complex element whose "structure" is defined by the associated schema | | This can be an arbitrarily complex element whose "structure" is defined by the associated schema | ||
+ | | | ||
| | | | ||
|- | |- | ||
Line 243: | Line 253: | ||
| .... | | .... | ||
| | | | ||
+ | |- | ||
+ | ! colspan=5 | Known Usage | ||
+ | |- | ||
+ | ! Source | ||
+ | ! Relation | ||
+ | ! Multiplicity | ||
+ | ! Target | ||
+ | ! Description | ||
+ | |- | ||
|} | |} | ||
Line 250: | Line 269: | ||
{|class="wikitable" | {|class="wikitable" | ||
+ | |+ Contact Facet | ||
+ | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
! Description | ! Description | ||
! Attributes | ! Attributes | ||
+ | ! | ||
|- | |- | ||
| title | | title | ||
Line 259: | Line 281: | ||
| e.g. Dr, Mrs, Mr, ... | | e.g. Dr, Mrs, Mr, ... | ||
| <code>Mandatory=false</code> | | <code>Mandatory=false</code> | ||
+ | | | ||
|- | |- | ||
| name | | name | ||
Line 264: | Line 287: | ||
| First Name | | First Name | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | | | ||
|- | |- | ||
| middleName | | middleName | ||
Line 269: | Line 293: | ||
| Middle Name | | Middle Name | ||
| <code>Mandatory=false</code> | | <code>Mandatory=false</code> | ||
+ | | | ||
|- | |- | ||
| surname | | surname | ||
Line 274: | Line 299: | ||
| Surname | | Surname | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | | | ||
|- | |- | ||
| eMail | | eMail | ||
Line 279: | Line 305: | ||
| An RFC‑822 compliant email address. | | An RFC‑822 compliant email address. | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> <code>Regex see http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> <code>Regex see http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html</code> | ||
+ | | | ||
|- | |- | ||
| website | | website | ||
Line 284: | Line 311: | ||
| The main website | | The main website | ||
| | | | ||
+ | | | ||
|- | |- | ||
| address | | address | ||
Line 289: | Line 317: | ||
| A physical address | | A physical address | ||
| | | | ||
+ | | | ||
|- | |- | ||
| phone | | phone | ||
Line 294: | Line 323: | ||
| A phone number | | A phone number | ||
| | | | ||
+ | |- | ||
+ | ! colspan=5 | Known Usage | ||
+ | |- | ||
+ | ! Source | ||
+ | ! Relation | ||
+ | ! Multiplicity | ||
+ | ! Target | ||
+ | ! Description | ||
+ | |- | ||
|} | |} | ||
Line 301: | Line 339: | ||
{|class="wikitable" | {|class="wikitable" | ||
+ | |+ Coverage Facet | ||
+ | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
! Description | ! Description | ||
! Attributes | ! Attributes | ||
+ | ! | ||
|- | |- | ||
| value | | value | ||
Line 310: | Line 351: | ||
| ... | | ... | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | | | ||
|- | |- | ||
| schema | | schema | ||
Line 315: | Line 357: | ||
| ... | | ... | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | |- | ||
+ | ! colspan=5 | Known Usage | ||
+ | |- | ||
+ | ! Source | ||
+ | ! Relation | ||
+ | ! Multiplicity | ||
+ | ! Target | ||
+ | ! Description | ||
+ | |- | ||
|} | |} | ||
Line 322: | Line 373: | ||
{|class="wikitable" | {|class="wikitable" | ||
+ | |+ CPU Facet | ||
+ | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
! Description | ! Description | ||
! Attributes | ! Attributes | ||
+ | ! | ||
|- | |- | ||
| model | | model | ||
Line 331: | Line 385: | ||
| ... | | ... | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | | | ||
|- | |- | ||
| vendor | | vendor | ||
Line 336: | Line 391: | ||
| ... | | ... | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | | | ||
|- | |- | ||
| clockSpeed | | clockSpeed | ||
Line 341: | Line 397: | ||
| ... | | ... | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | |- | ||
+ | ! colspan=5 | Known Usage | ||
+ | |- | ||
+ | ! Source | ||
+ | ! Relation | ||
+ | ! Multiplicity | ||
+ | ! Target | ||
+ | ! Description | ||
+ | |- | ||
|} | |} | ||
Line 348: | Line 413: | ||
{|class="wikitable" | {|class="wikitable" | ||
+ | |+ Descriptive Metadata Facet | ||
+ | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
! Description | ! Description | ||
! Attributes | ! Attributes | ||
+ | ! | ||
|- | |- | ||
| value | | value | ||
Line 357: | Line 425: | ||
| Inherited. E.g. XML Blob | | Inherited. E.g. XML Blob | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | | | ||
|- | |- | ||
| schema | | schema | ||
Line 362: | Line 431: | ||
| ... | | ... | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | |- | ||
+ | ! colspan=5 | Known Usage | ||
+ | |- | ||
+ | ! Source | ||
+ | ! Relation | ||
+ | ! Multiplicity | ||
+ | ! Target | ||
+ | ! Description | ||
+ | |- | ||
|} | |} | ||
Line 369: | Line 447: | ||
{|class="wikitable" | {|class="wikitable" | ||
+ | |+ Event Facet | ||
+ | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
! Description | ! Description | ||
! Attributes | ! Attributes | ||
+ | ! | ||
|- | |- | ||
| value | | value | ||
Line 378: | Line 459: | ||
| ... | | ... | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | | | ||
|- | |- | ||
| schema | | schema | ||
Line 383: | Line 465: | ||
| ... | | ... | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | |- | ||
+ | ! colspan=5 | Known Usage | ||
+ | |- | ||
+ | ! Source | ||
+ | ! Relation | ||
+ | ! Multiplicity | ||
+ | ! Target | ||
+ | ! Description | ||
+ | |- | ||
|} | |} | ||
Line 391: | Line 482: | ||
{|class="wikitable" | {|class="wikitable" | ||
+ | |+ Functionality Related Facet | ||
+ | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
! Description | ! Description | ||
! Attributes | ! Attributes | ||
+ | ! | ||
|- | |- | ||
| name | | name | ||
| String | | String | ||
| ... | | ... | ||
+ | | | ||
| | | | ||
|- | |- | ||
Line 404: | Line 499: | ||
| String | | String | ||
| ... | | ... | ||
+ | | | ||
| | | | ||
|- | |- | ||
Line 409: | Line 505: | ||
| String | | String | ||
| ... | | ... | ||
+ | | | ||
| | | | ||
|- | |- | ||
Line 415: | Line 512: | ||
| ... | | ... | ||
| | | | ||
+ | |- | ||
+ | ! colspan=5 | Known Usage | ||
+ | |- | ||
+ | ! Source | ||
+ | ! Relation | ||
+ | ! Multiplicity | ||
+ | ! Target | ||
+ | ! Description | ||
+ | |- | ||
|} | |} | ||
Line 422: | Line 528: | ||
{|class="wikitable" | {|class="wikitable" | ||
+ | |+ Identifier Facet | ||
+ | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
! Description | ! Description | ||
! Attributes | ! Attributes | ||
+ | ! | ||
|- | |- | ||
| value | | value | ||
Line 431: | Line 540: | ||
| The identifier. E.g. http://fr.dbpedia.org/resource/Thunnus de305d54-75b4-431b-adb2-eb6b9e546014 | | The identifier. E.g. http://fr.dbpedia.org/resource/Thunnus de305d54-75b4-431b-adb2-eb6b9e546014 | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | | | ||
|- | |- | ||
| type | | type | ||
Line 436: | Line 546: | ||
| The typology of identifier. I.e. URI, DOI, IRI, URL, URN, UUID; | | The typology of identifier. I.e. URI, DOI, IRI, URL, URN, UUID; | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | | | ||
|- | |- | ||
| isPersistent | | isPersistent | ||
Line 441: | Line 552: | ||
| To indicate if the Identifier is persistent or not. | | To indicate if the Identifier is persistent or not. | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | |- | ||
+ | ! colspan=5 | Known Usage | ||
+ | |- | ||
+ | ! Source | ||
+ | ! Relation | ||
+ | ! Multiplicity | ||
+ | ! Target | ||
+ | ! Description | ||
+ | |- | ||
|} | |} | ||
Line 446: | Line 566: | ||
{|class="wikitable" | {|class="wikitable" | ||
+ | |+ License Facet | ||
+ | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
! Description | ! Description | ||
! Attributes | ! Attributes | ||
+ | ! | ||
|- | |- | ||
| name | | name | ||
Line 455: | Line 578: | ||
| E.g. EUPL 1.1, GPLv2, BSD, ... | | E.g. EUPL 1.1, GPLv2, BSD, ... | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | | | ||
|- | |- | ||
| text | | text | ||
Line 460: | Line 584: | ||
| Licence URL | | Licence URL | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | |- | ||
+ | ! colspan=5 | Known Usage | ||
+ | |- | ||
+ | ! Source | ||
+ | ! Relation | ||
+ | ! Multiplicity | ||
+ | ! Target | ||
+ | ! Description | ||
+ | |- | ||
|} | |} | ||
Line 467: | Line 600: | ||
{|class="wikitable" | {|class="wikitable" | ||
+ | |+ Location Facet | ||
+ | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
! Description | ! Description | ||
! Attributes | ! Attributes | ||
+ | ! | ||
|- | |- | ||
| Country | | Country | ||
Line 476: | Line 612: | ||
| ... | | ... | ||
| | | | ||
+ | | | ||
|- | |- | ||
| Location | | Location | ||
Line 481: | Line 618: | ||
| ... | | ... | ||
| | | | ||
+ | | | ||
|- | |- | ||
| Latitude | | Latitude | ||
Line 486: | Line 624: | ||
| ... | | ... | ||
| | | | ||
+ | | | ||
|- | |- | ||
| Longitude | | Longitude | ||
Line 491: | Line 630: | ||
| ... | | ... | ||
| | | | ||
+ | |- | ||
+ | ! colspan=5 | Known Usage | ||
+ | |- | ||
+ | ! Source | ||
+ | ! Relation | ||
+ | ! Multiplicity | ||
+ | ! Target | ||
+ | ! Description | ||
+ | |- | ||
|} | |} | ||
Line 498: | Line 646: | ||
{|class="wikitable" | {|class="wikitable" | ||
+ | |+ Memory Facet | ||
+ | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
! Description | ! Description | ||
! Attributes | ! Attributes | ||
+ | ! | ||
|- | |- | ||
| size | | size | ||
Line 507: | Line 658: | ||
| Total amount of memory. | | Total amount of memory. | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | | | ||
|- | |- | ||
| used | | used | ||
Line 512: | Line 664: | ||
| usesd amount of memory. | | usesd amount of memory. | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | | | ||
|- | |- | ||
| unit | | unit | ||
Line 517: | Line 670: | ||
| I.e. 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) | | I.e. 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) | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> <code>Regex=(Byte<nowiki>|</nowiki>kB,<nowiki>|</nowiki>MB<nowiki>|</nowiki>GB<nowiki>|</nowiki>TB<nowiki>|</nowiki>PB<nowiki>|</nowiki>EB<nowiki>|</nowiki>ZB<nowiki>|</nowiki>YB) | | <code>Mandatory=true</code> <code>NotNull=true</code> <code>Regex=(Byte<nowiki>|</nowiki>kB,<nowiki>|</nowiki>MB<nowiki>|</nowiki>GB<nowiki>|</nowiki>TB<nowiki>|</nowiki>PB<nowiki>|</nowiki>EB<nowiki>|</nowiki>ZB<nowiki>|</nowiki>YB) | ||
+ | |- | ||
+ | ! colspan=5 | Known Usage | ||
+ | |- | ||
+ | ! Source | ||
+ | ! Relation | ||
+ | ! Multiplicity | ||
+ | ! Target | ||
+ | ! Description | ||
+ | |- | ||
|} | |} | ||
Line 524: | Line 686: | ||
{|class="wikitable" | {|class="wikitable" | ||
+ | |+ Network Address Facet | ||
+ | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
! Description | ! Description | ||
! Attributes | ! Attributes | ||
+ | ! | ||
|- | |- | ||
| hostName | | hostName | ||
| String | | String | ||
| ... | | ... | ||
+ | | | ||
| | | | ||
|- | |- | ||
Line 537: | Line 703: | ||
| String | | String | ||
| ... | | ... | ||
+ | | | ||
| | | | ||
|- | |- | ||
Line 543: | Line 710: | ||
| ... | | ... | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | | | ||
|- | |- | ||
| mask | | mask | ||
| String | | String | ||
| ... | | ... | ||
+ | | | ||
| | | | ||
|- | |- | ||
Line 553: | Line 722: | ||
| ... | | ... | ||
| | | | ||
+ | |- | ||
+ | ! colspan=5 | Known Usage | ||
+ | |- | ||
+ | ! Source | ||
+ | ! Relation | ||
+ | ! Multiplicity | ||
+ | ! Target | ||
+ | ! Description | ||
+ | |- | ||
|} | |} | ||
Line 569: | Line 747: | ||
{|class="wikitable" | {|class="wikitable" | ||
+ | |+ Peripheral Facet | ||
+ | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
! Description | ! Description | ||
! Attributes | ! Attributes | ||
+ | ! | ||
|- | |- | ||
| model | | model | ||
| String | | String | ||
| ... | | ... | ||
+ | | | ||
| | | | ||
|- | |- | ||
Line 583: | Line 765: | ||
| ... | | ... | ||
| | | | ||
+ | |- | ||
+ | ! colspan=5 | Known Usage | ||
+ | |- | ||
+ | ! Source | ||
+ | ! Relation | ||
+ | ! Multiplicity | ||
+ | ! Target | ||
+ | ! Description | ||
+ | |- | ||
|} | |} | ||
Line 590: | Line 781: | ||
{|class="wikitable" | {|class="wikitable" | ||
+ | |+ Provenance Facet | ||
+ | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
! Description | ! Description | ||
! Attributes | ! Attributes | ||
+ | ! | ||
|- | |- | ||
| relationship | | relationship | ||
| Enum | | Enum | ||
| .... E.g. wasDerivedFrom | wasGeneratedBy | ... | | .... E.g. wasDerivedFrom | wasGeneratedBy | ... | ||
+ | | | ||
| | | | ||
|- | |- | ||
Line 603: | Line 798: | ||
| String | | String | ||
| resourceID (a reference to the "originator" Resource associated to the resource the facet is attached to by the relationship) | | resourceID (a reference to the "originator" Resource associated to the resource the facet is attached to by the relationship) | ||
+ | | | ||
| | | | ||
|- | |- | ||
Line 608: | Line 804: | ||
| String | | String | ||
| ... E.g. the xml format | | ... E.g. the xml format | ||
+ | | | ||
| | | | ||
|- | |- | ||
Line 614: | Line 811: | ||
| ... E.g. a reference to the format | | ... E.g. a reference to the format | ||
| | | | ||
+ | |- | ||
+ | ! colspan=5 | Known Usage | ||
+ | |- | ||
+ | ! Source | ||
+ | ! Relation | ||
+ | ! Multiplicity | ||
+ | ! Target | ||
+ | ! Description | ||
+ | |- | ||
|} | |} | ||
Line 621: | Line 827: | ||
{|class="wikitable" | {|class="wikitable" | ||
+ | |+ Schema Facet | ||
+ | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
! Description | ! Description | ||
! Attributes | ! Attributes | ||
+ | ! | ||
|- | |- | ||
| name | | name | ||
Line 630: | Line 839: | ||
| ... | | ... | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | | | ||
|- | |- | ||
| description | | description | ||
Line 635: | Line 845: | ||
| ... | | ... | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | | | ||
|- | |- | ||
| schemaURL | | schemaURL | ||
Line 640: | Line 851: | ||
| ... | | ... | ||
| | | | ||
+ | |- | ||
+ | ! colspan=5 | Known Usage | ||
+ | |- | ||
+ | ! Source | ||
+ | ! Relation | ||
+ | ! Multiplicity | ||
+ | ! Target | ||
+ | ! Description | ||
+ | |- | ||
|} | |} | ||
Line 645: | Line 865: | ||
{|class="wikitable" | {|class="wikitable" | ||
+ | |+ JSON Schema Facet | ||
+ | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
! Description | ! Description | ||
! Attributes | ! Attributes | ||
+ | ! | ||
|- | |- | ||
| content | | content | ||
Line 654: | Line 877: | ||
| ... | | ... | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | |- | ||
+ | ! colspan=5 | Known Usage | ||
+ | |- | ||
+ | ! Source | ||
+ | ! Relation | ||
+ | ! Multiplicity | ||
+ | ! Target | ||
+ | ! Description | ||
+ | |- | ||
|} | |} | ||
Line 659: | Line 891: | ||
{|class="wikitable" | {|class="wikitable" | ||
+ | |+ XSD Schema Facet | ||
+ | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
! Description | ! Description | ||
! Attributes | ! Attributes | ||
+ | ! | ||
|- | |- | ||
| content | | content | ||
Line 668: | Line 903: | ||
| ... | | ... | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | |- | ||
+ | ! colspan=5 | Known Usage | ||
+ | |- | ||
+ | ! Source | ||
+ | ! Relation | ||
+ | ! Multiplicity | ||
+ | ! Target | ||
+ | ! Description | ||
+ | |- | ||
|} | |} | ||
Line 675: | Line 919: | ||
{|class="wikitable" | {|class="wikitable" | ||
+ | |+ Simple Property Facet | ||
+ | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
! Description | ! Description | ||
! Attributes | ! Attributes | ||
+ | ! | ||
|- | |- | ||
| name | | name | ||
Line 684: | Line 931: | ||
| ... | | ... | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | | | ||
|- | |- | ||
| value | | value | ||
Line 689: | Line 937: | ||
| ... | | ... | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | |- | ||
+ | ! colspan=5 | Known Usage | ||
+ | |- | ||
+ | ! Source | ||
+ | ! Relation | ||
+ | ! Multiplicity | ||
+ | ! Target | ||
+ | ! Description | ||
+ | |- | ||
|} | |} | ||
Line 696: | Line 953: | ||
{|class="wikitable" | {|class="wikitable" | ||
+ | |+ Software Facet | ||
+ | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
! Description | ! Description | ||
! Attributes | ! Attributes | ||
+ | ! | ||
|- | |- | ||
| name | | name | ||
| String | | 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. | | 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. | ||
+ | | | ||
| | | | ||
|- | |- | ||
Line 709: | Line 970: | ||
| String | | 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. | | 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. | ||
+ | | | ||
| | | | ||
|- | |- | ||
Line 714: | Line 976: | ||
| String | | 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'''. | | 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'''. | ||
+ | | | ||
| | | | ||
|- | |- | ||
Line 719: | Line 982: | ||
| String | | String | ||
| A human oriented description of the software artefact being described. | | A human oriented description of the software artefact being described. | ||
+ | | | ||
| | | | ||
|- | |- | ||
Line 724: | Line 988: | ||
| String | | String | ||
| E.g. packaging or scope in maven, scope level or sharable level in gCube software, target architecture for retail software x86 or amd64. | | E.g. packaging or scope in maven, scope level or sharable level in gCube software, target architecture for retail software x86 or amd64. | ||
+ | | | ||
| | | | ||
|- | |- | ||
Line 730: | Line 995: | ||
| .... usesd in maven and in gcube | | .... usesd in maven and in gcube | ||
| | | | ||
+ | |- | ||
+ | ! colspan=5 | Known Usage | ||
+ | |- | ||
+ | ! Source | ||
+ | ! Relation | ||
+ | ! Multiplicity | ||
+ | ! Target | ||
+ | ! Description | ||
+ | |- | ||
|} | |} | ||
Line 737: | Line 1,011: | ||
{|class="wikitable" | {|class="wikitable" | ||
+ | |+ State Facet | ||
+ | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
! Description | ! Description | ||
! Attributes | ! Attributes | ||
+ | ! | ||
|- | |- | ||
| value | | value | ||
Line 746: | Line 1,023: | ||
| The value of the state. Must be compliant with schema. | | The value of the state. Must be compliant with schema. | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | |- | ||
+ | ! colspan=5 | Known Usage | ||
+ | |- | ||
+ | ! Source | ||
+ | ! Relation | ||
+ | ! Multiplicity | ||
+ | ! Target | ||
+ | ! Description | ||
+ | |- | ||
|} | |} | ||
Line 751: | Line 1,037: | ||
{|class="wikitable" | {|class="wikitable" | ||
+ | |+ Container State Facet | ||
+ | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
! Description | ! Description | ||
! Attributes | ! Attributes | ||
+ | ! | ||
|- | |- | ||
| value | | value | ||
Line 760: | Line 1,049: | ||
| The value of the state | | The value of the state | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> <code>Regex=(started<nowiki>|</nowiki>ready<nowiki>|</nowiki>certified<nowiki>|</nowiki>down<nowiki>|</nowiki>failed)</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> <code>Regex=(started<nowiki>|</nowiki>ready<nowiki>|</nowiki>certified<nowiki>|</nowiki>down<nowiki>|</nowiki>failed)</code> | ||
+ | |- | ||
+ | ! colspan=5 | Known Usage | ||
+ | |- | ||
+ | ! Source | ||
+ | ! Relation | ||
+ | ! Multiplicity | ||
+ | ! Target | ||
+ | ! Description | ||
+ | |- | ||
|} | |} | ||
Line 765: | Line 1,063: | ||
{|class="wikitable" | {|class="wikitable" | ||
+ | |+ Service State Facet | ||
+ | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
! Description | ! Description | ||
! Attributes | ! Attributes | ||
+ | ! | ||
|- | |- | ||
| value | | value | ||
Line 774: | Line 1,075: | ||
| The value of the state | | The value of the state | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> <code>Regex=(STARTED<nowiki>|</nowiki>ready<nowiki>|</nowiki>down<nowiki>|</nowiki>failed)</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> <code>Regex=(STARTED<nowiki>|</nowiki>ready<nowiki>|</nowiki>down<nowiki>|</nowiki>failed)</code> | ||
+ | |- | ||
+ | ! colspan=5 | Known Usage | ||
+ | |- | ||
+ | ! Source | ||
+ | ! Relation | ||
+ | ! Multiplicity | ||
+ | ! Target | ||
+ | ! Description | ||
+ | |- | ||
|} | |} | ||
Line 781: | Line 1,091: | ||
{|class="wikitable" | {|class="wikitable" | ||
+ | |+ Subject Facet | ||
+ | |- | ||
! Name | ! Name | ||
! Type | ! Type | ||
! Description | ! Description | ||
! Attributes | ! Attributes | ||
+ | ! | ||
|- | |- | ||
| value | | value | ||
Line 790: | Line 1,103: | ||
| The value of the state. Must be compliant with schema. | | The value of the state. Must be compliant with schema. | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | | | ||
|- | |- | ||
| schema | | schema | ||
Line 795: | Line 1,109: | ||
| The URI of the schema. It is only an informative field. It is not used for validation from IS part. | | The URI of the schema. It is only an informative field. It is not used for validation from IS part. | ||
| <code>Mandatory=true</code> <code>NotNull=true</code> | | <code>Mandatory=true</code> <code>NotNull=true</code> | ||
+ | |- | ||
+ | ! colspan=5 | Known Usage | ||
+ | |- | ||
+ | ! Source | ||
+ | ! Relation | ||
+ | ! Multiplicity | ||
+ | ! Target | ||
+ | ! Description | ||
+ | |- | ||
|} | |} | ||
Revision as of 14:46, 25 July 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;
- Entities and relations 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):
default=false
- Max (Max):
default=null
- Min (Min):
default=null
- Regexpr (Reg)): A Regular Expression to validate the property value.
default=null
Property Type
Basic Property Type
Type | Description | Java type |
---|---|---|
Boolean | Handles only the values True or False | java.lang.Boolean or boolean
|
Integer | 32-bit signed Integers | java.lang.Integer or int
|
Short | Small 16-bit signed integers | java.lang.Short or short
|
Long | Big 64-bit signed integers | java.lang.Long or long
|
Float | Decimal numbers | java.lang.Float or float
|
Double | Decimal numbers with high precision | java.lang.Double or double
|
Datetime | Any date with the precision up to milliseconds. | java.util.Date
|
String | Any string as alphanumeric sequence of chars | java.lang.String
|
Embedded | This is an Object contained inside the owner Entity and has no Header. It is reachable only by navigating the owner Entity. | org.gcube.informationsystem.model.embedded.Embedded
|
Embedded list | List of Objects contained inside the owner Entity and have no Header. They are reachable only by navigating the owner Entity. | List<? extends Embedded>
|
Embedded set | Set (no duplicates) of Objects contained inside the owner Entity and have no Header. They are reachable only by navigating the owner Entity. | Set<? extends Embedded>
|
Embedded map | Map of Objects contained inside the owner Entity and have no Header. They are reachable only by navigating the owner Entity. | Map<String, ? extends Embedded>
|
Link ... | Link to another Entity. | ...
|
Byte | Single byte. usesful to store small 8-bit signed integers | java.lang.Byte or byte
|
Binary | Can contain any value as byte array | java.lang.Byte[] or byte[]
|
Any | Not determinated type, used to specify Collections of mixed type, and null | java.lang.Object
|
Derived Property Type
The following are obtained using a String as real type and adding a validation regex.
Type | Description | Java type |
---|---|---|
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 |
java.lang.Enum or enum
|
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}
|
java.util.UUID
|
URL | String representation of the URL. The check is obtained using a regex available at https://mathiasbynens.be/demo/url-regex (see diegoperini one). | java.net.URL
|
URI | String representation of the URI. The check is obtained using . | java.net.URI
|
Header
Every Entity and Relation has an Header automatically filled by the System. The Header has the following properties:
Name | Type | Description | Attributes |
---|---|---|---|
uuid | UUID | This uuid can be used to univocally identify the Entity or the Relation | Mandatory=true NotNull=true ReadOnly=true
|
creator | String | Filled at creation time. The creator is retrieved using the authorization token | Mandatory=true NotNull=true ReadOnly=true
|
creationTime | Datetime | Creation time in milliseconds. Represent the difference, measured in milliseconds, between the creation time and midnight, January 1, 1970 UTC | Mandatory=true NotNull=true ReadOnly=true
|
lastUpdateTime | Datetime | Last Update time in milliseconds. Represent the difference, measured in milliseconds, between the last update time and midnight, January 1, 1970 UTC | Mandatory=true NotNull=true
|
Resources and (isRelatedTo) Relations
Facets
Early ideas and thinking on facets were documented at 2nd Generation Resource Model : Facets
Facet
Every Facet has:
- An Header
- Zero or more properties. Some of the properties are predefined, but any other property can be added.
Access Point Facet
The goal of this facet is expected to capture information on “access points” for a resource, i.e. any endpoint to interact with the resource via a known protocol.
Name | Type | Description | Attributes | |
---|---|---|---|---|
entryName | String | An unique identifier | ||
endpoint | URI | The URI which identify the endpoint of a resource | Mandatory=true ReadOnly=true NotNull=true
|
|
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 | ..... | ||
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 | .... | ||
properties | String | This can be an arbitrarily complex element whose "structure" is defined by the associated schema | ||
propertiesSchema | URI | .... | ||
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
Contact Facet
The goal of this facet is expected to capture contact information.
Name | Type | Description | Attributes | |
---|---|---|---|---|
title | String | e.g. Dr, Mrs, Mr, ... | Mandatory=false
|
|
name | String | First Name | Mandatory=true NotNull=true
|
|
middleName | String | Middle Name | Mandatory=false
|
|
surname | String | Surname | Mandatory=true NotNull=true
|
|
An RFC‑822 compliant email address. | Mandatory=true NotNull=true Regex see http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html
|
|||
website | URL | The main website | ||
address | String | A physical address | ||
phone | String | A phone number | ||
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
Coverage Facet
The goal of this facet is to collect any extent-related information.
Name | Type | Description | Attributes | |
---|---|---|---|---|
value | String | ... | Mandatory=true NotNull=true
|
|
schema | URI | ... | Mandatory=true NotNull=true
| |
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
CPU Facet
The goal of this facet is to describe CPU information.
Name | Type | Description | Attributes | |
---|---|---|---|---|
model | String | ... | Mandatory=true NotNull=true
|
|
vendor | String | ... | Mandatory=true NotNull=true
|
|
clockSpeed | String | ... | Mandatory=true NotNull=true
| |
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
Descriptive Metadata Facet
The goal of this facet is to collect any descriptive metadata about the resource.
Name | Type | Description | Attributes | |
---|---|---|---|---|
value | String | Inherited. E.g. XML Blob | Mandatory=true NotNull=true
|
|
schema | URI | ... | Mandatory=true NotNull=true
| |
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
Event Facet
The goal of this facet is to collect any descriptive metadata about the resource.
Name | Type | Description | Attributes | |
---|---|---|---|---|
value | String | ... | Mandatory=true NotNull=true
|
|
schema | URI | ... | Mandatory=true NotNull=true
| |
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
Functionality Related Facet
The goal of this facet is to capture what are the facilities supported (Challenging because of the different audiences) Something very "poor" ... we can have a look at WPS spec
Name | Type | Description | Attributes | |
---|---|---|---|---|
name | String | ... | ||
description | String | ... | ||
input | String | ... | ||
output | String | ... | ||
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
Identifier Facet
The goal of this facet is to collect information on Identifiers that can be attached to a resource.
Name | Type | Description | Attributes | |
---|---|---|---|---|
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 if the Identifier is persistent or not. | Mandatory=true NotNull=true
| |
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
License Facet
Name | Type | Description | Attributes | |
---|---|---|---|---|
name | String | E.g. EUPL 1.1, GPLv2, BSD, ... | Mandatory=true NotNull=true
|
|
text | URL | Licence URL | Mandatory=true NotNull=true
| |
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
Location Facet
The goal of this facet is to collect information about Location
Name | Type | Description | Attributes | |
---|---|---|---|---|
Country | String | ... | ||
Location | String | ... | ||
Latitude | String | ... | ||
Longitude | String | ... | ||
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
Memory Facet
The goal of this facet is to .....
Name | Type | Description | Attributes | |
---|---|---|---|---|
size | Long | Total amount of memory. | Mandatory=true NotNull=true
|
|
used | Long | usesd amount of memory. | Mandatory=true NotNull=true
|
|
unit | Enum | I.e. 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 Regex=(Byte|kB,|MB|GB|TB|PB|EB|ZB|YB)
| |
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
Network Address Facet
The goal of this facet is to capture IP information
Name | Type | Description | Attributes | |
---|---|---|---|---|
hostName | String | ... | ||
domainName | String | ... | ||
IPAddress | String | ... | <code>Mandatory=true NotNull=true
|
|
mask | String | ... | ||
broadcastAddress | String | ... | ||
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
Regular expression to validate different IPv4 addresses are available at:
Both IPv4 and IPv6: http://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses
Peripheral Facet
The goal of this facet is to .....
Name | Type | Description | Attributes | |
---|---|---|---|---|
model | String | ... | ||
vendor | String | ... | ||
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
Provenance Facet
The goal of this facet is to collect information related with resource lineage/provenance
Name | Type | Description | Attributes | |
---|---|---|---|---|
relationship | Enum | wasGeneratedBy | ... | ||
reference | String | resourceID (a reference to the "originator" Resource associated to the resource the facet is attached to by the relationship) | ||
provenanceDocument | String | ... E.g. the xml format | ||
provenanceDocumentSchema | String | ... E.g. a reference to the format | ||
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
Schema Facet
The goal of this facet is to provide a way to store a schema. This is an Abstract
facet.
Name | Type | Description | Attributes | |
---|---|---|---|---|
name | String | ... | Mandatory=true NotNull=true
|
|
description | String | ... | Mandatory=true NotNull=true
|
|
schemaURL | URL | ... | ||
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
JSON Schema Facet
Name | Type | Description | Attributes | |
---|---|---|---|---|
content | ... | ... | Mandatory=true NotNull=true
| |
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
XSD Schema Facet
Name | Type | Description | Attributes | |
---|---|---|---|---|
content | ... | ... | Mandatory=true NotNull=true
| |
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
Simple Property Facet
The goal of this facet is to ...
Name | Type | Description | Attributes | |
---|---|---|---|---|
name | String | ... | Mandatory=true NotNull=true
|
|
value | String | ... | Mandatory=true NotNull=true
| |
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
Software Facet
The goal of this facet is to capture SW related features"
Name | Type | Description | Attributes | |
---|---|---|---|---|
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. | ||
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. | ||
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. | ||
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 | .... usesd in maven and in gcube | ||
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
State Facet
The goal of this facet is to ...
Name | Type | Description | Attributes | |
---|---|---|---|---|
value | String | The value of the state. Must be compliant with schema. | Mandatory=true NotNull=true
| |
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
Container State Facet
Name | Type | Description | Attributes | |
---|---|---|---|---|
value | String | The value of the state | Mandatory=true NotNull=true Regex=(started|ready|certified|down|failed)
| |
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
Service State Facet
Name | Type | Description | Attributes | |
---|---|---|---|---|
value | String | The value of the state | Mandatory=true NotNull=true Regex=(STARTED|ready|down|failed)
| |
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
Subject Facet
The goal of this facet is to ...
Name | Type | Description | Attributes | |
---|---|---|---|---|
value | String | The value of the state. Must be compliant with schema. | Mandatory=true NotNull=true
|
|
schema | URI | The URI of the schema. It is only an informative field. It is not used for validation from IS part. | Mandatory=true NotNull=true
| |
Known Usage | ||||
Source | Relation | Multiplicity | Target | Description |
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 |
isActivatedBy
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Running Plugin | isActivatedBy | 1..1 | E-Service |
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 |
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. |
hasCoverage
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Definition | ||||
Resources | hasCoverage | 0..n | Coverage Facet | ... |
Known Usage | ||||
Dataset | hasCoverage | 1..n | Coverage Facet | ... |
hasTemporal
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Definition | ||||
Resources | hasTemporal | 0..n | Coverage Facet | ... |
Known Usage | ||||
Dataset | hasTemporal | 0..n | Coverage Facet | ... |
hasSpatial
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Definition | ||||
Resources | hasSpatial | 0..n | Coverage Facet | ... |
Known Usage | ||||
Dataset | hasSpatial | 0..n | Coverage Facet | ... |
hasMemory
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Definition | ||||
Resources | hasMemory | 0..n | Memory Facet | ... |
hasPersistent
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Definition | ||||
Resources | hasPersistent | 0..n | Memory Facet | ... |
Known Usage | ||||
Hosting Node | hasPersistent | 1..n | Memory Facet | Disk Space |
hasVolatile
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Definition | ||||
Resources | hasVolatile | 0..n | Memory Facet | ... |
Known Usage | ||||
Hosting Node | hasVolatile | 1..n | Memory Facet | RAM |
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 |
Resources
Every Resource has:
A class can be identified as Abstract
. This means that cannot be instantiated. uses specialization instead.
It is not required that an Abstract class establish an isIdentifiedBy relation with a Facet.
Resource
This entity is conceived to describe every "main thing" to be registered and discovered by the Information System. | ||||
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Facets | ||||
Resource | isIdentifiedBy | 1..n | Facet | Any Resource has at least one Facet which in some way allow to identify the Resource per se. |
Resource | consistsOf | 0..n | Facet | Any Resource consist of zero or more Facets which describes the different aspects of the facet. |
Resources | ||||
Resource | isRelatedTo | 0..n | Resource | Any Resource can be related to any other resource. |
The following Resources have been identified:
Actor
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Facets | ||||
Actor | isIdentifiedBy | 1..n | Contact Facet | An Actor has at least a Contact Facet which permit to identify the Actor per se. |
Actor | hasContact | 0..n | Contact Facet | An Actor can have other Contact Facets which provide secondary contact information. |
Resources | ||||
Actor | isRelatedTo | 0..n | ... | ... |
Legal Body
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Facets | ||||
Legal Body | isIdentifiedBy | 1..n | Contact Facet | A Legal Body has at least a Contact Facet which permit to identify the Legal Body per se. |
Resources | ||||
Person | belongsTo | 0..n | Legal Body | ... |
Person
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Facets | ||||
Person | isIdentifiedBy | 1..n | Contact Facet | A Person has at least a Contact Facet which permit to identify the Person per se. |
Resources | ||||
Person | belongsTo | 0..n | Legal Body | ... |
Configuration Template
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.
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Facets | ||||
Configuration Template | isIdentifiedBy | 1..n | Identifier Facet | ... |
Configuration Template | consistsOf | 1..n | Simple Property Facet | ... |
Resources | ||||
Configuration | isDerivationOf | 1..1 | Configuration Template | ... |
Software | isConfiguredBy | 0..n | Configuration Template | ... |
Configuration
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Facets | ||||
Configuration | isIdentifiedBy | 1..n | Identifier Facet | ... |
Resources | ||||
Configuration | isDerivationOf | 1..1 | Configuration Template | ... |
Service | isCustomizedBy | 0..n | Configuration | ... |
Dataset
Concrete Dataset
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Facets | ||||
Concrete Dataset | isIdentifiedBy | 1..n | Identifier Facet | |
Concrete Dataset | hasMaintainer | 1..n | Contact Facet | Is he the maintainer |
Concrete Dataset | consistsOf | 1..n | Access Point Facet | The embargoState can be modeled through the access policy defined in the consistsOf relation |
Resources | ||||
Concrete Dataset | isPartOf | 0..n | Dataset | ... |
Service
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Facets | ||||
Service | isIdentifiedBy | 1..n | Facet | |
Resources | ||||
Service | callsFor | 0..n | Service | ... |
Service | isCustomizedBy | 0..n | Configuration | ... |
Service | manages | 0..n | Dataset | ... |
Software | requires | 0..n | Service | ... |
E-Service
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Facets | ||||
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 |
E-Service | consistsOf | 1..n | Access Point Facet | Identify the endpoints of the E-Service |
E-Service | consistsOf | 1..n | Event Facet | E.g. ActivationTime, DeploymentTime |
E-Service | consistsOf | 1..1 | Service State Facet | I.e. STARTED, ready, down, failed |
E-Service | consistsOf | 0..n | License Facet | The specific terms of use for programmatic access to the service |
Resources | ||||
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 | ... |
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 | ... |
Running Plugin | isActivatedBy | 1..1 | E-Service | A reference to the E-Service is running the plugin. |
Running Plugin
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Facets | ||||
Running Plugin | isIdentifiedBy | 1..1 | Software Facet | The software enabling the Running Plugin |
Resources | ||||
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
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Facets | ||||
Hosting Node | isIdentifiedBy | 1..n | Network Address Facet | ... |
Hosting Node | consistsOf | 1..n | CPU Facet | CPU Information |
Hosting Node | hasPersistent | 1..n | Memory Facet | Disk Space |
Hosting Node | hasVolatile | 1..n | Memory Facet | RAM |
Hosting Node | consistsOf | 1..n | Event Facet | ... |
Hosting Node | consistsOf | 1..1 | Container State Facet | I.e. started, ready, certified, down, failed |
Hosting Node | consistsOf | 0..n | Simple Property Facet | E.g. Environment Variables |
Hosting Node | consistsOf | 0..n | Software Facet | Useful to report the hosted software that are not registered in the Resource Registry as Software Resource, e.g. Operating System |
Resources | ||||
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 | ... |
Hosting Node | isPoweredBy | 0..n | Software | ... |
Virtual Service
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Facets | ||||
Virtual Service | isIdentifiedBy | 1..n | Software Facet | ... |
Resources | ||||
Virtual Service | demands | 0..n | Software Facet | ... |
Schema
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Facets | ||||
Schema | isIdentifiedBy | 1..n | Schema Facet | ... |
Schema | hasContact | 1..n | Contact Facet | ... |
Schema | consistsOf | 0..n | Descriptive Metadata Facet | ... |
Schema | consistsOf | 0..n | Subject Facet | ... |
Resources | ||||
Schema | ... | 0..n | ... | ... |
Site
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Facets | ||||
Site | isIdentifiedBy | 1..n | Identifier Facet | ... |
Site | hasContact | 1..n | Contact Facet | ... |
Site | hasMaintainer | 1..n | Contact Facet | ... |
Site | hasManager | 1..n | Contact Facet | ... |
Site | consistsOf | 1..n | Location Facet | ... |
Site | consistsOf | 1..n | Network Address Facet | Network address ... |
Resources | ||||
Hosting Node | isManagedBy | 0..n | Site | ... |
Software
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Facets | ||||
Software | isIdentifiedBy | 1..n | Software Facet | Software coordinates which identify the Software per se. |
Software | consistsOf | 1..n | Software Facet | Apart the one connected with isIdentifiedBy relation (gCube coordinates) the others identify the sw in other way e.g. (Maven coordinates) |
Software | consistsOf | 1..n | Access Point Facet | Links to maven artifact on nexus, javadoc, wiki, svn ... |
Software | consistsOf | 1..n | License Facet | ... |
Software | consistsOf | 1..n | State Facet | E.g. Deprecated, Active, Obsolete |
Resources | ||||
Software | dependsOn | 0..n | Software | ... |
Software | isConfiguredBy | 0..n | Configuration Template | E.g. Accounting Sw uses it to discover the configuration |
Software | requires | 0..n | Service | E.g. A software requiring a specific database |
Virtual Service | demands | 0..n | Software | ... |
E-Service | runs | 0..n | Software | ... |
Hosting Node | isPoweredBy | 0..n | Software | ... |
Plugin | isPluginOf | 0..n | Software | ... |
Plugin
Source | Relation | Multiplicity | Target | Description |
---|---|---|---|---|
Facets | ||||
Plugin | isIdentifiedBy | 1..n | Software Facet | Software coordinates which identify the Plugin per se. |
Resources | ||||
Plugin | isPluginOf | 1..n | Software | A reference to the Software this Plugin extends 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.
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 |