This wiki is locked. Future workgroup activity and specification development must take place at our new wiki. For more information, see this blog post about the new governance model and this post about changes to the website.
OSLC_logo.png

Open Services for Lifecycle Collaboration
Core Specification Version 2.0
Appendix A: Common Properties

This Version

Latest Version Authors
  • Dave Johnson
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

Prefixed Name Read-only Value-type Represen-tation Range Description
rdf:type unspecified Resource Reference n/a The resource type URIs

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 DescriptionSorted ascending
oslc:property zero-or-many True Resource Inline oslc:Property The properties that are allowed or required by this shape.
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.
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.

Resource: Allowed Values

Allowed values for one property.

  • Resource: oslc:AllowedValues
  • Namespace URI: http://open-services.net/ns/core#
  • Suggested Namespace Prefix: oslc

Prefixed Name Occurs Read-only Value-type Represen-tation Range Description
oslc:allowedValue one-or-many True Same value-type as property n/a n/a value allowed for a property

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:

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

Prefixed Name Occurs Read-only Value-type Represen-tation Range Description
oslc:discussionAbout exactly-one False Resource Reference Any Reference to associated resource
oslc:comment zero-or-many False Resource or Local Resource Reference or Inline oslc:Comment Comment about resource
Topic attachments
I Attachment Action Size Date Who Comment
pngpng oslc-core-shapes.png manage 37.4 K 04 Aug 2010 - 18:47 DaveJohnson  
Topic revision: r34 - 17 Jul 2013 - 14:34:11 - JohnArwe
 
This site is powered by the TWiki collaboration platform Copyright � by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Contributions are governed by our Terms of Use
Ideas, requests, problems regarding this site? Send feedback