|
Open Services for Lifecycle Collaboration Core Specification Version 2.0 Appendix A: Common Properties
|
This Version
Latest Version
Authors
Contributors
Table of Contents
Overview
This is a list of common properties and resources defined by or used by the Core spec. Unlike the rest of the Core specification, this Appendix will change and grow as new common properties are added by the Core workgroup. The properties that we list here are available for use in OSLC specification in defining OSLC resources, but this does not mean that they are required to be in OSLC resources. OSLC domain specifications decide which properties are allowed and required for each resource use case.
Dublin Core Properties
These are the Dublin Core Metadata Element Set properties that are considered common (reference: Dublin Core).
- Namespace URI:
http://purl.org/dc/terms/
- Suggested Namespace Prefix:
dcterms
Prefixed Name |
Read-only |
Value-type |
Represen-tation |
Range |
Description |
dcterms:contributor |
unspecified |
Either Resource or Local Resource |
Either Reference or Inline |
any |
Contributor or contributors to the resource. It is likely that the target resource will be a foaf:Person but that is not necessarily the case. |
dcterms:creator |
unspecified |
Either Resource or Local Resource |
Either Reference or Inline |
any |
Creator or creators of the resource. It is likely that the target resource will be a foaf:Person but that is not necessarily the case. |
dcterms:created |
unspecified |
DateTime |
n/a |
n/a |
Timestamp of resource creation |
dcterms:description |
unspecified |
XMLLiteral |
n/a |
n/a |
Descriptive text about resource represented as rich text in XHTML content. SHOULD include only content that is valid and suitable inside an XHTML <div> element. |
dcterms:identifier |
unspecified |
String |
n/a |
n/a |
A unique identifier for a resource. Typically read-only and assigned by the service provider when a resource is created. Not typically intended for end-user display. |
dcterms:modified |
unspecified |
DateTime |
n/a |
n/a |
Timestamp of latest resource modification |
dcterms:relation |
unspecified |
Either Resource or Local Resource |
Either Reference or Inline |
Any |
Relation which identifies a related resource. |
dcterms:subject |
unspecified |
String |
n/a |
n/a |
Tag or keyword for a resource. Each occurrence of a dcterms:subject property denotes an additional tag for the resource. |
dcterms:title |
unspecified |
XMLLiteral |
n/a |
n/a |
Title of the resource represented as rich text in XHTML content. SHOULD include only content that is valid inside an XHTML <span> element. |
RDF Properties
These are the RDF/XML properties that are considered common.
- Namespace URI:
http://www.w3.org/1999/02/22-rdf-syntax-ns#
- Suggested Namespace Prefix:
rdf
RDFS Properties
These are the RDFS properties that are considered common.
- Namespace URI:
http://www.w3.org/2000/01/rdf-schema#
- Suggested Namespace Prefix:
rdfs
Prefixed Name |
Read-only |
Value-type |
Represen-tation |
Range |
Description |
rdfs:member |
unspecified |
Resource |
Either |
unspecified |
OSLC domains might define a number of member or contains relationships between resources. The rdfs:member property is suitable for use when only one such relationship needs to be defined, or when no additional semantics need to be implied by the property name |
OSLC Properties
These are the OSLC defined properties that are considered common.
- Namespace URI:
http://open-services.net/ns/core#
- Suggested Namespace Prefix:
oslc
Prefixed Name |
Read-only |
Value-type |
Represen-tation |
Range |
Description |
oslc:serviceProvider |
unspecified |
Resource |
Reference |
oslc:ServiceProvider |
A link to the resource's OSLC Service Provider. There may be cases when the subject resource is available from a service provider that implements multiple domain specifications, which could result in multiple values for this property. |
oslc:instanceShape |
unspecified |
Resource |
Reference |
oslc:ResourceShape |
The URI of a Resource Shape that describes the possible properties, occurrence, value types, allowed values and labels. This shape information is useful in displaying the subject resource as well as guiding clients in performing modifications. Instance shapes may be specific to the authenticated user associated with the request that retrieved the resource, the current state of the resource and other factors and thus should not be cached. |
oslc:shortTitle |
unspecified |
XMLLiteral |
n/a |
n/a |
Shorter form of dcterms:title for the resource represented as rich text in XHTML content. SHOULD include only content that is valid inside an XHTML <span> element. |
oslc:shortId |
unspecified |
String |
n/a |
n/a |
Shorter form of dcterms:identifier for the resource, such as a number. |
oslc:discussedBy |
unspecified |
Resource |
Either |
oslc:Discussion |
A series of notes and comments about this resource. |
oslc:modifiedBy |
unspecified |
Resource |
Either |
Any |
The URI of a resource describing the entity that most recently modified the subject resource. The link target is usually a foaf:Person or foaf:Agent, but could be any type. This is modeled after dcterms:creator, but Dublin Core currently has no equivalent property. |
foaf:Person Resource
Person is a common resource because a Person resource is required as the value for a
dcterms:creator
or
dcterms:contributor
property.
- Resource:
foaf:Person
- Namespace URI:
http://xmlns.com/foaf/0.1/
(reference: FOAF)
- Suggested Namespace Prefix:
foaf
Prefixed Name |
Read-only |
Value-type |
Represen-tation |
Range |
Description |
foaf:name |
unspecified |
String |
n/a |
n/a |
The full name of a person expressed as simple text string. |
foaf:givenName |
unspecified |
String |
n/a |
n/a |
Given name of person expressed as simple text string. |
foaf:familyName |
unspecified |
String |
n/a |
n/a |
Family name of person expressed as simple text string. |
OSLC adds one additional constraint for
foaf:Person
. Each
foaf:Person
resource
SHOULD specify either a non-empty
foaf:name
value or both a non-empty
foaf:givenName
and
foaf:familyName
values.
oslc:ResourceShape Resource
In some cases, to create resources and to query those that already exist within an OSLC Service, OSLC clients needs a way to learn which properties are commonly used in or required by the service. Resource Shape Resources meet this need by providing a machine-readable definition of one or more OSLC resource types or instances. An OSLC Creation Factory
MAY provide one or more Resource Shapes so that you know what properties are allowed and required to create resources. An OSLC Query Capability
MAY provide a Resource Shape so that you know what properties are available for query. Within a Resource Shape, a resource value-type
MAY provide its own Resource Shape.
Resource Shapes are intended to provide simple "hints" to clients at resource creation, update or query time. They are not intended to form a rigid constraint system for validating inputs or a schema system that can be used for generating "bindings" for programming languages.
OSLC implementations that provide Resource Shapes representing resources defined by OSLC specifications
SHOULD provide the very same information provided in the specifications without changing or removing any of the Properties specified. Resource Shapes
MAY include new implementation specific properties as long as such "custom" properties are defined in non-OSLC namespaces (i.e. not rooted at
http://open-services.net).
Conceptual Model
A Resource Shape describes the properties that are allowed or required by one or more types or instances of resource. It does not define the properties, but it does tell how the properties are to be used in OSLC for one or more specific scenarios: the value-type to be used for the property, the number of times the property is expected to occur and whether the property is required. As you can see in the exemplary diagram below a Resource Shape provides Properties, and Properties which have Resource value-types can specify their own shapes.
The next sections define the Resource Shape and Property resources.
Resource: Resource Shape
A Resource Shape resource can have a title and a set of types.
- Resource:
oslc:ResourceShape
- Namespace URI:
http://open-services.net/ns/core#
- Suggested Namespace Prefix:
oslc
Prefixed Name |
Occurs |
Read-only |
Value-type |
Represen-tation |
Range |
Description |
dcterms:title |
zero-or-one |
True |
XMLLiteral |
n/a |
n/a |
Title of the resource shape. SHOULD include only content that is valid and suitable inside an XHTML <span> element. |
oslc:describes |
zero-or-many |
True |
Resource |
Reference |
n/a |
This shape describes resources that are of any of these types. Formally, a shape S applies to a resource R if there is a triple R rdf:type T and there is a triple S oslc:describes T . |
oslc:property |
zero-or-many |
True |
Resource |
Inline |
oslc:Property |
The properties that are allowed or required by this shape. |
Resource: Allowed Values
Allowed values for one property.
- Resource:
oslc:AllowedValues
- Namespace URI:
http://open-services.net/ns/core#
- Suggested Namespace Prefix:
oslc
Value-type: Property
A Property resource describes one allowed or required property of a resource.
- Resource:
oslc:Property
- Namespace URI:
http://open-services.net/ns/core#
- Suggested Namespace Prefix:
oslc
Prefixed Name |
Occurs |
Read-only |
Value-type |
Represen-tation |
Range |
Description |
dcterms:description |
zero-or-one |
True |
XMLLiteral |
n/a |
n/a |
Description of the property. SHOULD include only content that is valid and suitable inside an XHTML <div> element. |
dcterms:title |
zero-or-one |
True |
XMLLiteral |
n/a |
n/a |
Title of the property. SHOULD include only content that is valid and suitable inside an XHTML <span> element. |
oslc:allowedValues |
zero-or-one |
True |
Resource |
Reference |
oslc:AllowedValues |
Resource with allowed values for the property being defined. |
oslc:allowedValue |
zero-or-many |
True |
Same value-type as the property being defined |
n/a |
n/a |
A value allowed for property, inlined into property definition. If there are both oslc:allowedValue elements and an oslc:allowedValue resource, then the full-set of allowed values is the union of both. |
oslc:defaultValue |
zero-or-one |
True |
Same as property defined |
n/a |
n/a |
A default value for property, inlined into property definition. |
oslc:hidden |
zero-or-one |
True |
Boolean |
n/a |
n/a |
A hint that indicates that property MAY be hidden when presented in a user interface |
oslc:isMemberProperty |
zero-or-one |
True |
Boolean |
n/a |
n/a |
If set to true, this indicates that the property is a membership property, as described in the Query Syntax Specification: Member List Patterns. This is useful when the resource whose shape is being defined is viewed as a container of other resources. For example, look at the last example in Appendix B's RDF/XML Representation Examples: Specifying the shape of a query result, where blog:comment is defined as a membership property and comment that matches the query is returned as value of that property. |
oslc:name |
exactly-one |
True |
String |
n/a |
n/a |
Name of property being defined, i.e. second part of property's Prefixed Name |
oslc:maxSize |
zero-or-one |
True |
Integer |
n/a |
n/a |
For String properties only, specifies maximum characters allowed. If not set, then there is no maximum or maximum is specified elsewhere. |
oslc:occurs |
exactly-one |
True |
Resource |
Reference |
n/a |
MUST be either http://open-services.net/ns/core#Exactly-one (property is required), http://open-services.net/ns/core#Zero-or-one (property is optional), http://open-services.net/ns/core#Zero-or-many (property is optional), or http://open-services.net/ns/core#One-or-many (property is required) |
oslc:propertyDefinition |
exactly-one |
True |
Resource |
Reference |
n/a |
URI of the property whose usage is being described. |
oslc:range |
zero-or-many |
True |
Resource |
Reference |
n/a |
For properties with a resource value-type, Providers MAY also specify the range of possible resource types allowed, each specified by URI. The default range is http://open-services.net/ns/core#Any . |
oslc:readOnly |
zero-or-one |
True |
Boolean |
n/a |
n/a |
true if the property is read-only. If omitted, or set to false , then the property is writable. Providers SHOULD declare a property read-only when changes to the value of that property will not be accepted after the resource has been created, e.g. on PUT/PATCH requests. Consumers should note that the converse does not apply: Providers MAY reject a change to the value of a writable property. |
oslc:representation |
zero-or-one |
True |
Resource |
Reference |
n/a |
Should be http://open-services.net/ns/core#Reference , http://open-services.net/ns/core#Inline or http://open-services.net/ns/core#Either |
oslc:valueType |
zero-or-many |
True |
Resource |
Reference |
n/a |
See below for list of allowed values for oslc:valueType . If this property is omitted, then the value type is unconstrained. |
oslc:valueShape |
zero-or-one |
True |
Resource |
Reference |
oslc:ResourceShape |
if the value-type is a resource type, then Property MAY provide a shape value to indicate the Resource Shape that applies to the resource. |
Allowed values for
oslc:valueType
:
- Literal value-types
- Boolean -
http://www.w3.org/2001/XMLSchema#boolean
- DateTime -
http://www.w3.org/2001/XMLSchema#dateTime
- Decimal -
http://www.w3.org/2001/XMLSchema#decimal
- Double -
http://www.w3.org/2001/XMLSchema#double
- Float -
http://www.w3.org/2001/XMLSchema#float
- Integer -
http://www.w3.org/2001/XMLSchema#integer
- String -
http://www.w3.org/2001/XMLSchema#string
- XMLLiteral -
http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral
- Resource value-types
oslc:Comment Resource
A Comment resource represents a single note, or comment, in a discussion thread.
- Resource:
oslc:Comment
- Namespace URI:
http://open-services.net/ns/core#
- Suggested Namespace Prefix:
oslc
Prefixed Name |
Occurs |
Read-only |
Value-type |
Represen-tation |
Range |
Description |
dcterms:identifier |
exactly-one |
True |
String |
n/a |
n/a |
A service defined identifier |
dcterms:creator |
exactly-one |
True |
Resource or Local Resource |
Either |
any |
The person who created the comment. It is likely that the target resource will be a foaf:Person but that is not necessarily the case |
dcterms:title |
zero-or-one |
unspecified |
XMLLiteral |
n/a |
n/a |
A brief title for the comment. SHOULD include only content that is valid and suitable inside an XHTML <span> element. |
dcterms:created |
exactly-one |
True |
DateTime |
n/a |
n/a |
When the comment resource was created |
dcterms:description |
exactly-one |
unspecified |
XMLLiteral |
n/a |
n/a |
Details or body of the comment. SHOULD include only content that is valid and suitable inside an XHTML <div> element. |
oslc:partOfDiscussion |
exactly-one |
unspecified |
Resource |
Reference |
oslc:Discussion |
Reference to owning Discussion resource |
oslc:inReplyTo |
zero-or-one |
unspecified |
Resource |
Reference |
oslc:Comment |
Reference to comment this comment is in reply to |
oslc:Discussion Resource
A Discussion resource is intended to represent a sequence of comments or notes regarding the associated resource.
- Resource:
oslc:Discussion
- Namespace URI:
http://open-services.net/ns/core#
- Suggested Namespace Prefix:
oslc