This specification defines a vocabulary and resource shapes for the OSLC Asset Management domain.


Introduction

This specification defines a vocabulary and resource shapes for the OSLC Asset Management resources.

Terminology

Terminology is based on OSLC Core Overview [[!OSLCCore3]], W3C Linked Data Platform [[!LDP]], W3C's Architecture of the World Wide Web [[WEBARCH]], Hyper-text Transfer Protocol [[!HTTP11]]. Terminology for this specification is defined in part 1 of the multi-part specification.

References

In addition to the namespace URIs and namespace prefixes oslc, rdf, dcterms and foaf defined in the OSLC Core specification, OSLC Asset Management defines the namespace URI of http://open-services.net/ns/asset# with a namespace prefix of oslc_asset

Asset Management Vocabulary Terms

This specification defines the root superclasses, properties and values. Servers may define additional subclasses and provide additional properties as needed.

OSLC Asset Management Resource Definitions

Asset

An Asset is anything tangible or intangible that is capable of being owned or controlled to produce value, and is held to have positive economic value. This includes not only software products, but also buildings, servers, automobiles, pumps, oil wells, etc. These properties include such things as name, description, classification, and the Artifact properties of an Asset.

The Asset resource properties are not limited to the ones defined in this specification, service providers may provide additional properties. It is recommended that any additional properties exist in their own unique namespace and not use the namespaces defined in these specifications.

Artifact

An Artifact is a fragment within an asset resource that describes an Artifact Media Resource. An artifact fragment may only be updated though an Asset resource and it is not possible to perform operations directly on the Artifact fragment

The Artifact fragment properties are not limited to the ones defined in this specification, service providers may provide additional properties. It is recommended that any additional properties exist in their own unique namespace and not use the namespaces defined in these specifications.

Artifact Media

The artifact media represents the actual content of an artifact. The URI for the artifact media resource is defined by the oslc_asset:content property of an artifact fragment within an asset resource.

A client may publish a new artifact to an asset making a POST request to the asset’s artifact factory URI as defined by the oslc_asset:artifactFactory property of the asset resource. The request MUST contain an oslc_asset.name header indicating the path and name of the new artifact and the body of the POST MUST contain the contents of the artifact. A successful response from the provider MUST return a status code of 201 and a Location Header indicating the URI of the Media Resource. In addition, the provider MUST add a new artifact fragment to the asset and fill in the mandatory properties including size, and creation time. The client may later update the non-read only properties of this fragment.

See the [[!OSLCAssetSamples]] Publish an artifact sample for additional details.

Providers MUST also support URI artifacts. URI artifacts do not contain content, but instead the oslc_asset:content property’s value is a URI external to the asset. To create a URI artifact, clients POST an artifact resource to the artifact factory URI. The request MUST contain an oslc_asset.name header indicating the path and name of the new artifact URI. A successful response from the provider MUST return a status code of 201 and a Location Header indicating the URI of the artifact URI. In addition, the provider MUST add a new artifact fragment to the asset and fill in the mandatory properties such as creation time. The client may later update the non-read only properties of this fragment.

See the [[!OSLCAssetSamples]] Publish a URI artifact sample for additional details.

Relationship labels

When an RM relationship property is to be presented in a user interface, it may be helpful to provide an informative and useful textual label for that relationship instance. (This in addition to the relationship property URI and the object resource URI, which are also candidates for presentation to a user.) To this end, OSLC Servers MAY suppport a dcterms:title link property in RM resource representations where a relationship property is permitted, using the anchor approach outlined in the OSLC Core Links Guidance.

Servers and Clients should be aware that the dcterms:title of a link is unrelated to the dcterms:title of the object resource. Indeed, links may carry other properties with names in common to the object of the link, but there is no specified relationship between these property values.

Change History

Revision Date Editor Changes Made
01 2018-05-22 Fabio Ribeiro Initial Committee Specification Draft migrated from open-services.net
02 2018-08-09 Gray Bachelor Update to V2.1 and make minor changes from checks