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 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: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

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

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.
oslc:shortTitle zero-or-one 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.

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

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.

  • 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.

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-more False Resource or Local Resource Reference or Inline oslc:Comment comment about resource
Edit | Attach | Print version | History: r31 < r30 < r29 < r28 < r27 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r30 - 26 Jul 2010 - 17:29:21 - SteveSpeicher
 
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