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

Introduction

This specification defines a vocabulary and resource shapes for OSLC Architecture Management resources. The intent is to define resources needed to support common integration scenarios and not to provide a comprehensive definition of an architecture resource. The resource formats are intended to define a high-level resource that can be specialized by enterprise architecture, analysis or design artifacts. The approach to supporting these scenarios is to delegate operations, as driven by service provider contributed user interfaces, as much as possible and not require a service provider to expose its complete data model and application logic.

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 AM defines the namespace URI of http://open-services.net/ns/am# with a namespace prefix of oslc_am

This specification also uses these namespace prefix definitions:

Architecture Management Vocabulary Terms

Property value types that are not defined in the following sections, are defined in [[!OSLCCore3]].

There are two OSLC AM defined resources: Resource and LinkType. OSLC AM defines a least common set of properties for resources, however service implementations are free to extend this set of properties. Clients MUST preserve properties it does not recognize when updating resources. AM Servers MAY ignore properties that it does not recognize. Additional properties may come from existing vocabularies (ie. Dublin Core, OWL). When additional properties do not come from a known vocabulary, it is recommended that they exist in their own unique namespace, and providers SHOULD NOT reuse namespaces defined in these specifications.

All RDF/XML resources that include links with annotations MUST begin with an outer <rdf:RDF> element. This outer XML element is required to support the ability to include annotations on ‘link’ properties with additional <rdf:Description> elements reifying statements about the link.

Service implementations and clients MUST be prepared to accept any form of valid RDF/XML. For example the following two resource forms are equivalent.

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:oslc="http://open-services.net/ns/core#"
   xmlns:oslc_am="http://open-services.net/ns/am#"
   xmlns:dcterms="http://purl.org/dc/terms/">

    <oslc_am:Resource rdf:about="https://acme.com/resources/res1">
      <dcterms:title>Service Interface</dcterms:title>
      <dcterms:identifier>res1</dcterms:identifier>
      <oslc:serviceProvider rdf:resource="http://open-services.net/ns/am#"/>
    </oslc_am:Resource>

</rdf:RDF></verbatim> is equivalent to <verbatim><rdf:RDF 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:oslc="http://open-services.net/ns/core#"
   xmlns:dcterms="http://purl.org/dc/terms/">

    <rdf:Description rdf:about="https://acme.com/resources/res1">
      <dcterms:title>Service Interface</dcterms:title>
      <dcterms:identifier>res1</dcterms:identifier>
      <rdf:type rdf:resource="http://open-services.net/ns/am#Resource" />
      <oslc:serviceProvider rdf:resource="http://open-services.net/ns/am#"/>
    </rdf:Description>

</rdf:RDF>

This specification defines a number of specific, commonly occurring vocabulary terms (OWL classes), properties and values. Servers may define additional classes and provide additional properties as needed.

Resource Constraints

This section specifies the constraints for the Architecture Management resources. The resource properties are not limited to the ones defined in this specification, AM Servers 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.

Resource: Resource

An Architecture Management Resource (AMR) is a generic resource format that can be used to represent any type of specific architecture resource such as a UML Class, Use Case, or Business Process Diagram.

Resource: LinkType

A Link Type Resource (LTR) represents type of link that is or can be used when defining links from AM resources. The type has an ID (expressed as a string), whose universally accepted semantics may be defined elsewhere. This resource represents the definition as it is used by this service provider. This resource is meant as a convenience for clients to get a list of known/registered link types with human readable labels and definitions that can be used in client user interfaces when links are being created.

The resource defines the properties rdfs:label and rdfs:comments for the link type URI. The link type URI is made type: http://open-services.net/ns/am#LinkType via an rdf:type property. The remaining properties may be properties of the link type URI, or on a separate resource managed by the service provider. In the case where the service provider owns the domain of the link type URI these can be the same, and all properties can be on the same link type URI.

Links from AMR resources are managed in accordance with the OSLC Core Guidance on Links and Relationships. They appear as simple properties in the resource. Links MAY include inlined values for the target and MAY include anchor properties on the link itself. AM Servers SHOULD support LinkType Resources for clients to get a list of known and acceptable link properties.

Change History

Revision Date Editor Changes Made
01 08/24/2018 Jim Amsden Committee Specification Draft for Public Review published
01 09/10/2018 Jim Amsden Committee Specification revision 01 published