OSLC Core Appendix A: Common Properties DRAFT
By: The
OSLC Core Workgroup
Overview
This is a list of common properties and resources that are 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.
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 |
Occurs |
Read-only |
Value-type |
Represen-tation |
Range |
Description |
dcterms:abstract |
zero-or-one |
unspecified |
XMLLiteral |
n/a |
n/a |
Abstract (reference: Dublin Core) or summary of the resource represented as rich text in XHTML content. |
dcterms:contributor |
zero-or-many |
unspecified |
Resource |
Either |
foaf:Person |
Contributor or contributors to resource (reference: Dublin Core) |
dcterms:creator |
zero-or-many |
unspecified |
Resource |
Either |
foaf:Person |
Creator or creators of resource (reference: Dublin Core) |
dcterms:created |
zero-or-one |
unspecified |
DateTime |
n/a |
n/a |
Timestamp of resource creation (reference: Dublin Core) |
dcterms:description |
zero-or-one |
unspecified |
XMLLiteral |
n/a |
n/a |
Descriptive text (reference: Dublin Core) about resource represented as rich text in XHTML content. SHOULD include only content that is valid and suitable inside an XHTML <div> element. SHOULD include only content that is valid inside an XHTML <span> element. |
dcterms:identifier |
exactly-one |
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 |
zero-or-one |
unspecified |
DateTime |
n/a |
n/a |
Timestamp last latest resource modification (reference: Dublin Core) |
dcterms:relation |
zero-or-many |
unspecified |
Either |
Either |
Any |
Relation (reference: Dublin Core) which identifies a related resource. |
dcterms:subject |
zero-or-many |
unspecified |
String |
n/a |
n/a |
Tag or keyword for a resource. Each occurrence of a dc:subject property denotes an additional tag for the resource. |
dcterms:title |
exactly-one |
unspecified |
XMLLiteral |
n/a |
n/a |
Title (reference: Dublin Core) 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
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 |
Occurs |
Read-only |
Value-type |
Represen-tation |
Range |
Description |
oslc:serviceProvider |
zero-or-many |
unspecified |
Resource |
Reference |
oslc:ServiceProvider |
The scope of a resource is a link to the resource's OSLC Service Provider. |
oslc:instanceShape |
zero-or-one |
unspecified |
Resource |
Reference |
oslc:ResourceShape |
Resource Shape that provides hints as to resource property value-types and allowed values. |
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.
- Name:
Person
- URI:
http://xmlns.com/foaf/0.1/Person
(reference: FOAF)
Properties of Person use the FOAF namespace URI.
- Namespace URI:
http://xmlns.com/foaf/0.1/
(reference: FOAF)
- Suggested Namespace Prefix:
foaf
Prefixed Name |
Occurs |
Read-only |
Value-type |
Represen-tation |
Range |
Description |
foaf:name |
zero-or-one |
unspecified |
String |
n/a |
n/a |
the full name of a person expressed as simple text string. |
foaf:givenName |
zero-or-one |
unspecified |
String |
n/a |
n/a |
given name of person expressed as simple text string. |
foaf:familyName |
zero-or-one |
unspecified |
String |
n/a |
n/a |
family name of person expressed as simple text string. |
There is an additional constraint for
foaf:Person
. Implementations MUST 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 an OSLC resource type. An OSLC Creation Factory can provide a Resource Shape so that you know what properties are allowed and required to create a resource. An OSLC Query Capability can provide a Resource Shape so that you know what properties are available for query. And, within a Resource Shape, a resource value-type can 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 are expected to 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 type of resource. It does not define the properties, but it does tell how the properties are to be used in OSLC: the value-type to be used for the property, the number of times the property is expected to occur, whether the property is required and information. As you can see in the 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 type.
- Name:
ResourceShape
- URI:
http://open-services.net/ns/core#ResourceShape
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 |
oslc:describes |
zero-or-many |
True |
Resource |
Reference |
n/a |
Type or types of resource described by this shape. |
oslc:property |
zero-or-more |
True |
Resource |
Reference |
oslc:Property |
the properties that are allowed or required by this shape. |
Resource: Allowed Values
Allowed values for one property.
- Name:
AllowedValues
- URI:
http://open-services.net/ns/core#AllowedValues
Value-type: Property
A Property resource describes one allowed or required property of a resource.
- Name:
Property
- URI:
http://open-services.net/ns/core#Property
Prefixed Name |
Occurs |
Read-only |
Value-type |
Represen-tation |
Range |
Description |
oslc:propertyDefinition |
exactly-one |
True |
Resource |
Reference |
n/a |
Definition of the property whose usage is being described. |
oslc:name |
exactly-one |
True |
String |
n/a |
n/a |
Name of property being defined |
dcterms:title |
zero-or-one |
True |
XMLLiteral |
n/a |
n/a |
Title of the property |
dcterms:description |
zero-or-one |
True |
XMLLiteral |
n/a |
n/a |
Description of the property |
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:valueType |
exactly-one |
True |
Resource |
Reference |
n/a |
See below for list of allowed values for oslc:valueType |
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. |
oslc:occurs |
exactly-one |
True |
String |
n/a |
n/a |
May be "exactly-one", "zero-or-one", "zero-or-many" or "one-or-many" |
oslc:allowedValue |
zero-or-one |
True |
Resource |
Reference |
oslc:AllowedValues |
Resource with allowed values for the property being defined. |
oslc:allowedValue |
zero-or-one |
True |
Same as property defined |
n/a |
n/a |
A value allowed for property, inlined into property definition. |
oslc:defaultValue |
zero-or-one |
True |
Same as property defined |
n/a |
n/a |
A default value for property, inlined into property definition. |
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:range |
zero-or-more |
True |
Resource |
Reference |
n/a |
For properties with a resource value-type, OSLC specifications should also specify the range of possible resource classes allowed, each specified by URI |
oslc:readOnly |
zero-or-one |
True |
Boolean |
n/a |
n/a |
true if property is read-only. If not set or false , then property is not read-write. |
oslc:representation |
zero-or-one |
True |
String |
n/a |
n/a |
May be 'Reference' or 'Inline' or 'Either' |
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
- Resource -
http://open-service.net/ns/core#Resource
- Local Resource -
http://open-service.net/ns/core#LocalResource
- Either Resource or Local Resource -
http://open-service.net/ns/core#AnyResource
oslc:Comment Resource
A Comment resource represents a single note, or comment, in a discussion thread.
Prefixed Name |
Occurs |
Read-only |
Value-type |
Represen-tation |
Range |
Description |
dcterms:identifier |
exactly-one |
False |
String |
n/a |
n/a |
A service defined identifier |
dcterms:creator |
exactly-one |
False |
Resource or Local Resource |
Either |
foaf:Person |
The person who created the comment |
dcterms:title |
zero-or-one |
False |
XMLLiteral |
n/a |
n/a |
A brief title for the comment |
dcterms:created |
exactly-one |
False |
DateTime |
n/a |
n/a |
When the comment resource was created |
dcterms:description |
exactly-one |
False |
XMLLiteral |
n/a |
n/a |
Details or body of the comment |
oslc:discussion |
exactly-one |
False |
Resource |
Reference |
oslc:Discussion |
reference to owning Discussion resource |
oslc:inReplyTo |
zero-or-one |
False |
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.