This family of documents defines the Open Services for Lifecycle Collaboration Knowledge Management and Definition specification, also known as OSLC KM. These documents collectively define the OSLC KM 1.0 specification. This specification supports key REST APIs for Knowledge Management systems. OSLC KM 1.0 takes an open, loosely coupled approach to specific lifecycle integration scenarios. The scenarios and this V1.0 specification were created by the Knowledge Reuse Group (UC3M) and The Reuse Company (TRC).
This specification builds on the Open Services for Lifecycle Collaboration (OSLC) Core v2.0 Specification to define the resources, properties and operations supported by an OSLC Knowledge Definition and Management (OSLC-KM) provider.
Knowledge Management resources include Concepts, Concepts Collections, Relationships, Relationships Collections, Semantics, Semantics Collections, Artifacts, Artifacts Collections, Metaproperties and Metaproperties Collections and supporting resources defined in the OSLC Core specification. The properties defined describe these resources and the relationships between resources. Operations are defined in terms of HTTP methods and MIME type handling. The resources, properties and operations defined do not form a comprehensive interface to Knowledge Definition and Management, but instead target specific integration use cases.
NotationThe key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC2119. Domain name examples use RFC2606.
This document defines a Knowledge Management Specification. It is based on existing Open Services for Lifecycle Collaboration (OSLC) documents following a similar structure and reusing some of the common contents.
This document has also followed the guidelines by W3C and its tool Respec to provide a common visual format to other existing specifications.
If you wish to make comments regarding this document, please send them to this repository. All comments are welcome.
This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.
The creation and spreading of organization’s knowledge is a crucial activity in today’s knowledge economy. Knowledge is becoming a commodity that is embedded in products, business or manufacturing processes and it is also embedded in the tacit knowledge of employees. Thus, knowledge is a kind of new intellectual asset that can be used to transform a simple organization in a learning organization, creating a real collaborative environment, reducing costs and time to market, generating competitive advantage and taking the most of existing tools and techniques to improve the daily work activities. Knowledge as a kind of asset includes also some relevant characteristics.
In this sense knowledge management, as a concept, has been widely studied, it was initially defined in [2] as the process of applying a systematic approach to the capture, structuring, store, management and dissemination of knowledge pieces throughout an organization to work faster, reuse best practices and reduce costs. Building on the previous definitions, other valuable definitions can be found in [3], [4], [5] ,[6] or [7]. Although it is hard to draw big differences among the different approaches and definitions, it is possible to extract a common agreement on the processes and on the needs to share data, information and knowledge within the organization, see Figure 1.
In our opinion, based on the experience and on existing works, the next underlying necessities are considered the cornerstone to successfully address the challenge of taking the most of the knowledge generated in a business process:
Figure 1: Common processes in Knowledge Management, adapted from [8].
In this sense, one of the cornerstones to provide the proper knowledge management services lies on the selection of an adequate knowledge representation paradigm. After a long time [9], this problem still persists since the choice of a suitable representation format (and syntax) can be reached in several ways. Obviously, different types of knowledge require different types of representation [10] [11] including a type of inference process and a target type of dynamic system. In this light, expressions, rule-based systems, regular grammars, semantic networks, object-oriented representations, frames, intelligent agents or case-based models to name a few are some of the main approaches to information and knowledge modeling.
Figure 2: Semantic Web Stack (2005-The Two Towers) vs Semantic Web Stack (2015)
More specifically, knowledge management implies the standardization of data and information, that is, any bit of information must be structured and stored for supporting other application services, creating an impedance mismatch between the system and the outside world. In this sense, semantic networks seem to be a very good candidate to represent any general knowledge item with the aim of describing and linking different types of information using relationships. In particular, two main approaches can be highlighted for the purpose of knowledge representation (input/output interface and internal representation in the context of Systems Engineering):
RDF has been used as underlying data model for building RDFS/OWL ontologies, gaining momentum in the web-based environment due to the explosion of the Semantic Web and Linked Data initiatives that aim to represent and exchange data (and knowledge) between agents and services under the web-based protocols.
OWL (Ontology Web Language) is an ontology language for capturing meaningful generalizations about data in the Web. It includes additional constructors for building richer class and property descriptions (vocabulary) and new axioms (constraints), along with a formal semantics. OWL 1.1 consists of three sub-languages with different levels of expressivity: 1) OWL Lite, 2) OWL DL (Description Logic) and 3) OWL Full.
The OWL 2.0 family defines three different profiles: OWL 2 EL (Expressions Language), OWL 2 QL (Query Language) and OWL RL (Rule Language). These profiles can be seen as a syntactic restriction of the OWL 2 Structural Specification and more restrictive than OWL DL. The use of profiles is motivated by the needs of different computational processes. OWL EL is designed for enabling reasoning tasks in polynomial time. The main aim of OWL 2 QL is to enable conjunctive queries to be answered in LogSpace using standard relational database technology. Finally, OWL 2 RL is intended to provide a polynomial time reasoning algorithm using rule-extended database technologies operating directly on RDF triples. In conclusion, OWL 2.0 adds new functionalities regarding OWL 1.x. Most of them are syntactic sugar but others offer new expressivity : keys, property chains, richer datatypes, data ranges, qualified cardinality restrictions, asymmetric, reflexive, and disjoint properties; and enhanced annotation capabilities
In RSHP, the simple representation model for describing the content of whatever artifact type (requirements, risks, architectural models, physical models, tests, maps, text docs or source software code) should be: RSHP representation for artifact α = i_α = {(RSHP_1 ),(RSHP_2 ),…,(RSHP_n )} where every single RSHP is called RSHP-description and must be described using KE. One important consequence of this representation model is that there is no restriction to represent a particular type of knowledge. Furthermore, RHSP has been widely used as underlying information model to build general-purpose indexing and retrieval systems, domain representation models [14], quality assessment of requirements and knowledge management tools such as knowledgeMANAGER [15]
Figure 3: The RSHP representation model using UML.
Obviously, a plethora of other knowledge representation mechanisms and paradigms can be found as it is presented below. However, we focus here on comparing those that satisfy the three basic requirements of this study: 1) a language for representing any artifact metadata and contents; 2) a system for indexing and retrieval and 3) a standard input/output interface (data shape+REST+RDF) to share and exchange artifact metadata and contents.
As a summary of both approaches,the following table shows the main characteristics and capabilities that can be found in RDF and RSHP with special focus on those regarding knowledge management and, more specifically knowledge representation. Nevertheless, the main difference lies on the expressivity, the underlying data model and the operations they support:
Finally, as a general comment, there is also a lack of tools working natively on RDF. Generally speaking, RDF was conceived to exchange information over the web. Although some RDF repositories can provide capabilities for indexing and searching RDF resources through an SPARQL interface, the experience has demonstrated that most of times RDF is translated into the native data model of a tool. Thus, the possibility of supporting cross-cutting services such as semantic indexing and retrieval processes is constrained by the native capabilities and data models of third-party tools.
Other minor differences such as target design and use, underlying semantics, query language and storage are also relevant but somehow compatible.
In addition to these points, it is also necessary to remark that RDFS (RDF Schema) and OWL (Ontology Web Language) were defined as frameworks to provide constructors or primitives to design formal ontologies (with some underlying logics) that can be serialized in RDF. However, shapes or schemes for managing RDF as a data model (not as a set of logical statements) are still under development (see row “Validation” in the next Figure or PDF file).
Recent times have seen the development of the Open Services for Lifecycle Collaboration (OSLC) initiative to tackle some of the existing needs regarding interoperability and integration in the Systems Engineering (SE) discipline. This emerging effort is seeking new methods to easily integrate SE tools and build an ideal development and operations environment. At present time, OSCL is comprised of several specifications to model shared resources between applications with the aim of sharing more data, boosting the use of web-based standards (RDF and HTTP) and delivering robust products through the collaboration of development and operational tools. OSLC Core is now an OASIS standard, for products and services that support all phases of the software and product lifecycle. Its main objective lies in the integration between work-products that support Application Life-cycle Management (ALM) and Product Life-cycle Management (PLM).
In the context of knowledge management, the Assets Management and Tracked Resource Set specifications are the more convenient for these purposes. However, there is no RDF vocabulary to represent information such as a simulation model, a set of executable business rules (in this case the W3C Rule Interchange Format recommendation could be used), a model (there is an on-going effort powered by the OMG to create an OSLC-MBSE specification (Model-Based Systems Engineering) or a physical circuit. On the other hand, some common and useful services such as indexing, naming, retrieval, quality assessment, visualization or traceability must be provided by all tool vendors creating a tangled environment of query languages, interfaces, formats and protocols.
OSLC represents a big step towards the integration and interoperability between the agents involved in the lifecycle development. However, RDF has been also demonstrated [20] to contain some restrictions to represent certain knowledge characteristics such as n-ary relationships [21] and practical issues when dealing with reification [22] and blank nodes [23] preventing the proper use of a linked data environment. On the other hand, some common services such as indexing, retrieval or quality assessment of any kind information are restricted to the internal storage and the query capabilities offered by each particular tool (usually a SPARQL interface). Finally, there is also the need of aligning the OSLC effort to existing standards such as STEP (ISO 10303-“Standard for the Exchange of Product model data”). Although some initial insights can be found, this is an open question that a common knowledge management specification can address enabling the interoperability between different standards.
As it has been previously outlined and in order to combine RDF and RSHP it is necessary to provide a shape, an OSLC Resource Shape, that defines the entities and relationships in the RHSP representation model to make this specification publicly available and enable the possibility of expressing any piece of knowledge using RSHP. On the other hand and due to the fact that a huge amount of data, services and endpoints based on RDF and the Linked Data principles are already publicly available, a mapping between any RDF vocabulary and RSHP is completely necessary to support backward compatibility and being able to import any piece of RDF data into RSHP.
Process | Support |
---|---|
Capture | Access to OSLC repositories in the context of Systems Engineering for all existing specifications and other RDF-based services or SPARQL endpoints |
Structure/Store | RDF as public exchange data model and syntax and a universal internal representation model to build the System Knowledge Repository (SKR) |
Access/Search/Disseminate | RDF query language (e.g. SPARQL), natural language or a native query language (if any). A set of entities and relationships creating an underlying graph |
Traceability | Entity reconciliation based on graph comparison |
Visualization | A generic graph-based visualization framework that can show entities and relationships but also interpret them as type of diagram. E.g. Class diagram |
Exploit | Index, search, traceability or quality based on the internal representation model |
Share | An OSLC interface on top of the SKR that offers both data and services |
Create | Third-party tool that exports artifacts using an OSLC-based interface |
That is why a combination of the aforementioned approaches can create the proper environment for knowledge management using RSHP as a common data model to provide advanced services on knowledge management due to its further development and better fit to work-products produced in industry and RDF as input/output interface for exchanging data due to its well-known dissemination. To do so, two main operations should be designed and implemented:
Figure 5: Functional Architecture and core services for knowledge management based on the OSLC KM specification.
The RSHP representation model has been presented in Figure 3. In order to simplify the external view of this model and ease the creation of an OSLC Resource Shape, two main changes, (see Figure 6), have been made in the representation model:
Figure 6: The KM representation model using UML as simplification of the RSHP representation model.
It is important to highlight the strategy followed to model the resource shapes of the elements presented in Figure 6. Taking into account that the Linked Data Initiative has seen last times the creation of methodologies, guidelines or recipes to publish RDF-encoded data, we have paid special attention to follow a similar approach reusing existing RDF-based vocabularies. More specifically, the following rules have been applied to create the OSLC resource shapes:
In the particular case of knowledge management, we have selected the Simple Knowledge Organization System (SKOS), a W3C recommendation, to define concepts, since it has been designed for promoting controlled vocabularies, thesauri, taxonomies or event simple ontologies to the Linked Data initiative. That is why, in this model, most of the entities can be considered as a skos:Concept
and we have created the shape of this standard definition of concept in the resource oslc_km:Concept
.
Requirement | Level | Meaning |
---|---|---|
Unknown properties and content | MAY / MUST | OSLC services MAY ignore unknown content and OSLC clients MUST preserve unknown content |
Resource Operations | MUST | OSLC service MUST support resource operations via standard HTTP operations |
Resource Paging | MAY | OSLC services MAY provide paging for resources but only when specifically requested by service consumer |
Partial Resource Representations | MUST / MAY | OSLC services MUST support request for a subset of a resource's properties via the oslc.properties URL parameter retrieval via HTTP GET and MAY support via HTTP PUT |
Partial Update | MAY | OSLC services MAY support partial update of resources using patch semantics |
Service Provider Resources | MAY / MUST | OSLC service providers MAY provide a Service Provider Catalog and MUST provide a Service Provider resource |
Creation Factories | MUST / MAY | OSLC service providers MUST provide at least one creation factory resource for concepts, relationships, metaproperties, semantics and artifacts and MAY provide creation factory resources for collections of the aforemetnioned resources |
Query Capabilities | MUST | OSLC service providers MUST provide query capabilities to enable clients to query for resources |
Query Syntax | MUST | OSLC query capabilities MUST support the OSLC Core Query Syntax |
Delegated UI Dialogs | MUST | OSLC Services MUST offer delegated UI dialogs (for both creation and selection) specified via service provider resource |
UI Preview | SHOULD | OSLC Services SHOULD offer UI previews for resources that may be referenced by other resources |
HTTP Basic Authentication | MAY | OSLC Services MAY support Basic Authentication and SHOULD only do so only over HTTPS |
OAuth Authentication | MAY | OSLC Services MAY support OAuth and MAY indicate the required OAuth URLs via the service provider resource |
Error Responses | MAY | OSLC Services MAY provide error responses using Core defined error formats |
RDF/XML Representations | MUST | OSLC services MUST support RDF/XML representations for OSLC Defined Resources |
XML Representations | MUST | OSLC services MUST support XML representations that conform to the OSLC Core Guidelines for XML |
JSON Representations | MAY / MUST | OSLC services MAY support JSON representations; those which do MUST conform to the OSLC Core Guidelines for JSON |
HTML Representations | MAY | OSLC services MAY provide HTML representations for GET requests |
See Core Specification Version 2.0 - Specification Versioning.
Service providers that support the resource formats and services in this specification MUST add an HTTP response header of OSLC-Core-Version
with a value of 2.0
. Consumers SHOULD request formats and services defined in this document by providing a HTTP request header of OSLC-Core-Version
with a value of 2.0
. See section below on Version Compatibility with OSLC KM 1.0 Specifications.
This specification reserves, for possible future use, the use of the HTTP header OSLC-KM-Version
. OSLC Providers MUST NOT use this HTTP header.
In addition to the namespace URIs and namespace prefixes oslc
, rdf
, dcterms
and foaf
defined in the Core Specification Version 2.0, OSLC KM defines the namespace URI of http://trc-research.github.io/spec/km/
with a preferred namespace prefix of oslc_km
.
Furthermore, the SKOS (Simple Knowledge Organization System), a W3C Recommendation, is also defined through the namespace: http://www.w3.org/2004/02/skos/core
and prefix: skos
. Other semantic-based vocabularies will use the de facto namespace and prefix that can be searched using the service: Prefix.cc.
In addition to the requirements for Core Specification Version 2.0 - OSLC Defined Resource Representations, this section outlines further refinements and restrictions.
For HTTP GET/PUT/POST requests on all OSLC KM and OSLC Core defined resource types,
application/rdf+xml
. KM Consumers MUST be prepared to deal with any valid RDF/XML document.
application/xml
. The XML representations MUST follow the guidelines outlined in Core Specification Appendix B: Representations and Examples.application/json
. The JSON representations MUST follow the guidelines outlined in Core Specification Appendix B: Representations and Examples.Additionally, for HTTP GET,
For HTTP GET response formats for Query requests,
application/rdf+xml
.
application/xml
.
application/json
.
OSLC Providers MAY refuse to accept RDF/XML documents which do not have a top-level rdf:RDF document element. The OSLC Core describes an example, non-normative algorithm for generating RDF/XML representations of OSLC Defined Resources.
In addition to the resource formats defined above, providers MAY support additional resource formats; the meaning and usage of these resource formats is not defined by this specification.
See Core Specification Version 2.0 - Authentication. OSLC KM places no additional constraints on authentication.
See Core Specification Version 2.0 - Error Responses. OSLC KM places no additional constraints on error responses.
OSLC KM service providers SHOULD support pagination of query results as defined by the OSLC Core Specification. OSLC KM service providers MAY support pagination of a single resource's properties as defined by the OSLC Core Specification.
A client may want to request a subset of a resource's properties as well as properties from a referenced resource. In order to support this behaviour a service provider MUST support the oslc.properties
and oslc.prefix
URL parameter on a HTTP GET request on individual resource request or a collection of resources by query. If the oslc.properties
parameter is omitted on the request, or if the value of this parameter is "*", then all resource properties MUST be provided in the response. See OSLC Core Specification - Selective Property Values.
A provide MAY accept oslc.properties
on a PUT with the meaning that only that subset of the resource's properties be updated.
If the parameter oslc.properties
contains a valid resource property on the request that is not provided in the content, the server MUST treat that as a request to remove that property from the resource. If the parameter oslc.properties
contains an invalid resource property, then a 409 Conflict
MUST be returned.
Property value types that are not defined in the following sections, are defined in Core Specification Version 2.0 - Defining OSLC Properties.
The meaning of the columns in the following table is defined as follows. See also OSLC Core Specification Appendix A: Common Properties for further details on Resource Shapes.
Class | Resource Shape Name | Description |
---|---|---|
Artifact | oslc_km:Artifact |
A container of: relationships between concepts, metaproperties, etc. to semantically describe any piece of information. It is the basis for the creation of an underlying semantic network (not based on logic formalisms). |
Metaproperty | oslc_km:MetaProperty |
A wrapper of a metaproperty containing a tag and value. Both can be any type of resource or, more specifically, concepts. |
RSHP | oslc_km:RSHP |
An RSHP is a wrapper to create a relationship between any set of resources. It is possible to add a semantics and can contain any number of elements representing binary, ternary, etc. relationships. |
Term | oslc_km:Concept |
This concept follows the semantics and shape of an skos:Concept . More specifically: "the notion of a SKOS concept is useful when describing the conceptual or intellectual structure of a knowledge organization system, and when referring to specific ideas or meanings established within a KOS (Knowledge Organization System").
|
SemanticCluster | oslc_km:Concept |
See previous definition |
TermTag | oslc_km:Concept |
See previous definition |
Prefixed Name | Occurs | Read-only | Value-type | Representation | Range | Description |
---|---|---|---|---|---|---|
dcterms:identifier |
Exactly-one | True | String | Inline | rdfs:Literal |
The unique identifier for this artifact. |
dcterms:title |
One-or-many | True | String | Inline | rdfs:Literal |
The title of the artifact used to display a name. |
dcterms:description |
Zero-or-many | False | String | Inline | rdfs:Literal |
The long description of this artifact that must be explanatory enough to understand what the artifact contains and is used to. |
dcterms:created |
Exactly-one | True | DateTime | Inline | xsd:dateTimeStamp |
The date and time in which the artifact was created. The range is restricted to a data time stamp, although the Dublin Core allows us to use any rdfs:Literal. See: http://dublincore.org/documents/dcmi-terms/#terms-created |
dcterms:modified |
Zero-or-many | False | DateTime | Inline | xsd:dateTimeStamp |
The moment in which the artifact was modified or redefined. The range is restricted to a data time stamp, although the Dublin Core allows us to use any rdfs:Literal. See: http://dublincore.org/documents/dcmi-terms/#terms-created |
dcterms:creator |
One-or-many | True | Resource | Reference | foaf:Agent |
The agents (people, organizations or tools) that have defined this artifact. |
oslc_km:term |
Zero-or-one | False | Either Resource or Local Resource | Either Reference or Inline | oslc_km:Concept |
The lexical form of this artifact (apart from title and description). It is an URI to a concept. |
oslc_km:artifact-type |
Zero-or-one | True | Either Resource or Local Resource | Either Reference or Inline | oslc_km:Concept |
A link to a concept describing the type of this artifact. E.g. "Class Diagram" |
oslc_km:rshps |
Exactly-one | False | Either Resource or Local Resource | Either Reference or Inline | rdf:List |
A list of relationships between the concepts within the artifact. Similar to skos:member (actually it is a kind of syntax sugar and the meaning of this property and skos:member is the same). |
oslc_km:metaproperties |
Zero-or-one | False | Either Resource or Local Resource | Either Reference or Inline | Rdf:List |
A list of metaproperties for this artifact identifed by tag and value. It is a kind of wrapper for two concepts. |
oslc_km:owned-artifacts |
Zero-or-one | False | Either Resource or Local Resource | Either Reference or Inline | rdf:List |
A list of artifacts that belongs to this artifact. It is similar to skos:member and skos:inScheme but with artifacts instead of concept schemes. |
oslc_km:alt-visualization |
Zero-or-many | False | Resource | Reference | N/A (Not applicable) | The alternative visual representation of this artifact using SVG+CSS. |
oslc_km:preferred-visualization |
Zero-or-one | False | Resource | Reference | N/A | The preferred visual representation of this artifact using SVG+CSS. |
oslc_km:interpretation |
Zero-or-one | False | Resource | Either Reference or Inline | N/A | A complete interpretation of this artifact through a concept description. E.g. Class diagram, etc. |
oslc_km:traced-by |
Zero-or-many | False | Resource | Either Reference or Inline | Rdf:Resource |
A resource that traces this artifact. |
oslc_km:traces-to |
Zero-or-many | False | Resource | Either Reference or Inline | Rdf:Resource |
A resource that is being traced by this artifact. |
oslc_km:trace-type |
Exactly-one | True | Resource | Either Reference or Inline | oslc_km:Concept |
A link to a concept that explains how the trace has been created, etc. This element must be linked to the "trace" node (if any). |
oslc_kpi:dataset |
Zero-or-many | True | Resource | Reference | Qb:Dataset |
The link to the datasets that contain observations that can affect this artifact. E.g. if a requirement is an artifact, the requirements quality observations would be the dataset linked to the artifact in a certain moment of time. |
dcterms:source |
Zero-or-many | True | Resource | Reference | Rdf:Resource |
The set of documents that explains why this artifact should be explained. |
oslc_km:access |
Zero-or-one | False | Either Resource or Local Resource | Either Reference or Inline | N/A | A link to a resource describing how to access to a HTTP-based resource for gathering contents and convert into an artifact. The W3C HTTP vocabulary (a W3C note) is used to represent the information of an HTTP request. |
oslc:valueShape |
Exactly-one | False | Resource | Either Reference or Inline | rdf:Resource |
A link to an URI that contains the shape of this artifact. |
oslc_km:contents |
Zero-or-one | False | String | Inline | rdfs:Literal |
A literal representing the contents of any artifact in RDF. These contents are interpreted following the shape that must be also presented in the description of the artifact. |
oslc_km:sparql-endpoint |
Zero-or-one | False | Resource | Either Reference or Inline | xsd:anyURI |
An URI pointing to a SPARQL endpoint from which the contents of an artifact will be gathered through a DESCRIBE query. |
Prefixed Name | Occurs | Read-only | Value-type | Representation | Range | Description |
---|---|---|---|---|---|---|
dcterms:identifier |
Exactly-one | True | String | Inline | rdfs:Literal |
The unique identifier for this metaproperty |
oslc_km:tag |
Exactly-one | False | Either Resource or Local Resource | Either Reference or Inline | oslc_km:Concept |
A tag for this metaproperty represented through a concept or even any resource. |
oslc_km:value |
Zero-or-one | False | Either Resource or Local Resource | Either Reference or Inline | oslc_km:Concept |
A value for this metaproperty represented through a concept or even any resource. |
Prefixed Name | Occurs | Read-only | Value-type | Representation | Range | Description |
---|---|---|---|---|---|---|
dcterms:identifier |
Exactly-one | True | String | Inline | rdfs:Literal |
The unique identifier for this RSHP. It is now an string but it would be better a skos:Concept to avoid broken links between pieces of data. |
oslc_km:semantics |
Zero-or-one | True | Either Resource or Local Resource | Either Reference or Inline | rdf:Property |
The concept (property) that represents the semantics of this relationship. |
oslc_km:from |
Zero-or-one | False | Resource | Either Reference or Inline | rdf:List |
The list of concepts from which a relationship is created. It is similar to skos:member but a new name used to provide a more meaningful name. Status: the name of this property is still open. |
oslc_km:to |
Zero-or-one | False | Resource | Either Reference or Inline | rdf:List |
The list of concepts to which a relationship is created. It is similar to skos:member but a new name used to provide a more meaningful name. Status: the name of this property is still open. |
Prefixed Name | Occurs | Read-only | Value-type | Representation | Range | Description |
---|---|---|---|---|---|---|
skos:altLabel |
Zero-or-many | False | String | Inline | rdf:PlainLiteral |
"The preferred and alternative labels are useful when generating or creating human-readable representations of a knowledge organization system. These labels provide the strongest clues as to the meaning of a SKOS concept." Source: http://www.w3.org/TR/skos-reference/#labels |
skos:broadMatch |
Zero-or-many | False | Resource | Reference | skos:Concept |
This property is used to state mapping (alignment) links between SKOS concepts in different concept schemes, where the links are inherent in the meaning of the linked concepts. Source: http://www.w3.org/TR/skos-reference/#L4307 |
skos:broader |
Zero-or-many | False | Resource | Reference | skos:Concept |
It is a semantic relation used to assert a direct hierarchical link between two SKOS concepts. Source: http://www.w3.org/TR/skos-reference/#broader |
skos:broaderTransitive |
Zero-or-many | False | Resource | Reference | skos:Concept |
It is a property used to assert a direct hierarchical link between two SKOS concepts. More specifically, it is used to both direct and indirect hierarchical links between concepts. It is the transitive version of skos:broader. Source: http://www.w3.org/TR/skos-reference/#broaderTransitive |
skos:changeNote |
Zero-or-many | False | String | Inline | rdf:PlainLiteral |
It is an annotation property. According to the SKOS recommendation: "There is no restriction on the nature of this information, e.g., it could be plain text, hypertext, or an image; it could be a definition, information about the scope of a concept, editorial information, or any other type of information. ". Source: http://www.w3.org/TR/skos-reference/#notes |
skos:closeMatch |
Zero-or-many | False | Resource | Reference | skos:Concept |
It is used to link two concepts that are sufficiently similar that they can be used interchangeably in some information retrieval applications. In order to avoid the possibility of "compound errors" when combining mappings across more than two concept schemes, skos:closeMatch is not declared to be a transitive property. Source: http://www.w3.org/TR/skos-reference/#L4307 |
skos:definition |
Zero-or-many | False | String | Inline | rdf:PlainLiteral |
It is an annotation property. According to the SKOS recommendation: "There is no restriction on the nature of this information, e.g., it could be plain text, hypertext, or an image; it could be a definition, information about the scope of a concept, editorial information, or any other type of information. ". Source: http://www.w3.org/TR/skos-reference/#notes |
skos:editorialNote |
Zero-or-many | False | String | Inline | rdf:PlainLiteral |
It is an annotation property. According to the SKOS recommendation: "There is no restriction on the nature of this information, e.g., it could be plain text, hypertext, or an image; it could be a definition, information about the scope of a concept, editorial information, or any other type of information. ". Source: http://www.w3.org/TR/skos-reference/#notes |
skos:exactMatch |
Zero-or-many | False | Resource | Reference | skos:Concept |
This property is used to link two concepts, indicating a high degree of confidence that the concepts can be used interchangeably across a wide range of information retrieval applications. It is a transitive property, and is a sub-property of close match. Source: http://www.w3.org/TR/skos-reference/#L4307 |
skos:example |
Zero-or-many | False | String | Inline | rdf:PlainLiteral |
It is an annotation property. According to the SKOS recommendation: "There is no restriction on the nature of this information, e.g., it could be plain text, hypertext, or an image; it could be a definition, information about the scope of a concept, editorial information, or any other type of information. ". Source: http://www.w3.org/TR/skos-reference/#notes |
skos:hiddenLabel |
Zero-or-many | False | String | Inline | rdf:PlainLiteral |
It is a property to label concepts. Source: http://www.w3.org/TR/skos-reference/#labels |
skos:historyNote |
Zero-or-many | False | String | Inline | rdf:PlainLiteral |
It is an annotation property. According to the SKOS recommendation: "There is no restriction on the nature of this information, e.g., it could be plain text, hypertext, or an image; it could be a definition, information about the scope of a concept, editorial information, or any other type of information. ". Source: http://www.w3.org/TR/skos-reference/#notes |
skos:inScheme |
Zero-or-many | False | Resource | Reference | skos:ConceptScheme |
The scheme (an aggregation of one or more SKOS concepts) to which the concept belongs. Source: http://www.w3.org/TR/skos-reference/#schemes |
skos:mappingRelation |
Zero-or-many | False | Resource | Reference | skos:Concept |
It is a mapping property to link concepts. It is the superclass of other mapping properties. Source: http://www.w3.org/TR/skos-reference/#mapping |
skos:narrowMatch |
Zero-or-many | False | Resource | Reference | skos:Concept |
This property is used to state mapping (alignment) links between SKOS concepts in different concept schemes, where the links are inherent in the meaning of the linked concepts. Source: http://www.w3.org/TR/skos-reference/#mapping |
skos:narrower |
Zero-or-many | False | Resource | Reference | skos:Concept |
It is a semantic relation used to assert a direct hierarchical link between two SKOS concepts. Source: http://www.w3.org/TR/skos-reference/#broader |
skos:narrowerTransitive |
Zero-or-many | False | Resource | Reference | skos:Concept |
It is a property used to assert a direct hierarchical link between two SKOS concepts. More specifically, it is used to both direct and indirect hierarchical links between concepts. It is the transitive version of skos:broader. Source: http://www.w3.org/TR/skos-reference/#broaderTransitive |
skos:notation |
Zero-or-many | False | Resource | Either Reference or Inline | rdf:PlainLiteral |
It is an annotation property. According to the SKOS recommendation: "There is no restriction on the nature of this information, e.g., it could be plain text, hypertext, or an image; it could be a definition, information about the scope of a concept, editorial information, or any other type of information. ". Source: http://www.w3.org/TR/skos-reference/#notes |
skos:prefLabel |
Zero-or-many | False | String | Inline | rdf:PlainLiteral |
The preferred and alternative labels are useful when generating or creating human-readable representations of a knowledge organization system. These labels provide the strongest clues as to the meaning of a SKOS concept.
"A resource has no more than one value of skos:prefLabel per language tag." Source: http://www.w3.org/TR/skos-reference/#labels |
skos:related |
Zero-or-one | False | Resource | Reference | skos:Concept |
The property skos:related is used to assert an associative link between two SKOS concepts. Source: http://www.w3.org/TR/skos-reference/#semantic-relations |
skos:relatedMatch |
Zero-or-many | False | String | Reference | skos:Concept |
This property is used to state mapping (alignment) links between SKOS concepts in different concept schemes, where the links are inherent in the meaning of the linked concepts. More specifically, it is used to state an associative mapping link between two concepts. |
skos:scopeNote |
Zero-or-many | False | String | Inline | rdf:PlainLiteral |
It is an annotation property. According to the SKOS recommendation: "There is no restriction on the nature of this information, e.g., it could be plain text, hypertext, or an image; it could be a definition, information about the scope of a concept, editorial information, or any other type of information. ". Source: http://www.w3.org/TR/skos-reference/#notes |
skos:semanticRelation |
Zero-or-many | False | String | Reference | skos:Concept |
It is the super property of all mapping and relationship properties. It is used to assert generic semantic relationships between concepts. |
skos:topConceptOf |
Zero-or-many | True | Resource | Reference | skos:ConceptScheme |
It serves to state that a concept is a root of a concept scheme. Source: http://www.w3.org/TR/skos-reference/#schemes |
dcterms:creator |
One-or-many | True | Resource | Either Reference or Inline | foaf:Agent |
The agents (people, organizations or tools) that have defined this concept. |
dcterms:contributor |
Zero-or-many | False | Resource | Either Reference or Inline | foaf:Agent |
The agents (people, organizations or tools) that have contributed to the definition of this concept. |
dcterms:created |
Exactly-one | True | DateTime | Inline | xsd:dateTimeStamp |
The time in which this concept has been created. |
dcterms:modified |
Zero-or-many | False | DateTime | Inline | xsd:dateTimeStamp |
The moment in which this concept has been modified or redefined. |
skos:memberList |
Exactly-one | False | Either Resource or Local Resource | Either Reference or Inline | rdf:List |
A list of skos concepts (ordered collection) that serves to specify the components of the pattern. |
dcterms:identifier |
Exactly-one | True | String | Inline | xsd:string |
The unique identifier for this concept. |
When an KM 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 providers 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.
Providers and consumers 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.
Service providers MUST provide one or more oslc:ServiceProvider
resources as defined by Core Specification Version 2.0 - Service Provider Resource. Discovery of OSLC Service Provider Resources MAY be via one or more OSLC Service Provider Catalog Resources, or may be discovered by some other and/or additional Provider-specific means outwith the scope of this specification. The oslc:Service
resources referenced by this oslc:ServiceProvider
MUST have an oslc:domain
of http://trc-research.github.io/spec/km/
.
Service providers MAY provide one more more oslc:ServiceProviderCatalog
resources as defined by Core Specification Version 2.0 - Service Provider Resources. Any such catalog resources MUST include at least one oslc:domain
of http://trc-research.github.io/spec/km/
. Discovery of top-level OSLC Service Provider Catalog Resources is outwith the scope of this specification.
Service providers MUST give an oslc:serviceProvider
property on all OSLC Defined Resources. This property MUST refer to an appropriate oslc:ServiceProvider
resource.
Service providers supporting resource creation MUST do so through oslc:CreationFactory
resources, as defined by Core Specification Version 2.0 - Creation Factories. Any such factory resources MUST be discoverable through oslc:Service
resources. Providers SHOULD provide oslc:ResourceShape
resources on oslc:CreationFactory
resources as defined by OSLC Core Specification Appendix A: Common Properties - Resource Shapes.
Service providers MUST support query capabilities, as defined by Core Specification Version 2.0 - Query Capabilities. Providers SHOULD provide oslc:ResourceShape
on oslc:QueryCapability
resources as defined by OSLC Core Specification Appendix A: Common Properties - Resource Shapes.
The Query Capability MUST support these parameters:
oslc.where
oslc.select
oslc.properties
oslc.prefix
Where oslc:ResourceShape
is not supported by the Query Capability, providers SHOULD use the following guidance to represent query results:
rdf:Description
and rdfs:member
as defined by Core Specification Appendix B:Representations and Examples - RDF/XML Examples.oslc:results
array. See Core Specification Appendix B: Representations and Examples - Guidelines for JSON.The stability of query results is OPTIONAL (see Core Specification Version 2.0 - Stable Paging).
OSLC KM service providers MUST support the selection and creation of resources by delegated web-based user interface dialogs Delegated UIs as defined by OSLC Core.
OSLC KM service providers MAY support the pre-filling of creation dialogs based on the definition at Delegated UIs.
OSLC KM service provider MAY identify the usage of various services with additional property values for the OSLC Core defined oslc:usage
property on oslc:Dialog
, CreationFactory
and QueryCapability
. The oslc:usage
property value of http://open-services.net/ns/core#default
SHOULD be used to designate the default or primary service to be used by consumers when multiple entries are found.
There are no additional usage identifiers defined by this specification. OSLC Providers MAY provide their own usage URIs. Such usage URIs MUST be in a non-OSLC namespace.
To identify a format of RDF/XML, the media type used for KM resource representations MUST be application/rdf+xml
. The usage of the OSLC KM 1.0 defined media types of application/x-oslc-km-artifact-1.0+xml
, application/x-oslc-km-artifact-collection-1.0+xml
, application/x-oslc-km-service-description-1.0+xml
and application/x-oslc-disc-service-provider-catalog+xml
is deprecated.
KM 1.0 consumers wanting to request 1.0 resource formats will not need to change if they used 1.0 defined media types ( application/x-oslc-km*
). KM 1.0 consumers should use media types as defined in this specification for requests, excluding the OSLC KM 1.0 specific media types ( application/x-oslc-km*
). KM consumers supporting should request request 1.0 media types on HTTP GET requests as usually done with HTTP request parameter Accept
giving appropriate quality (See HTTP Accept) weighting to help distinguish their preferred content.
For additional guidance, a KM 1.0 consumer or provider MAY reference the OSLC-Core-Version
HTTP header with a value of 2.0
.
As it has been outlined in previous sections, the main objective of this specification is to provide a way for representing any piece of knowledge using the RSHP model. Since there are a lot of techniques for knowledge representation, it is important to emphasize that the use of RSHP model is motivated because:
However and with the aim of keeping backward compatibility, a mapping to existing RDF data has been also presented and implemented. This approach allows us to provide a mechanism for those that want to publish RDF data for which there is no shape or vocabulary (RSHP could be sued) and to enable a way of re-using existing RDF data sources. Nevertheless, the transformation of RDF to RSHP has been designed at a graph level so a higher type of transformation (keeping logic formalisms if any) is under study. For instance, an RDFS (RDF Schema) and OWL (Ontology Web Language), W3C standards for ontology construction, mapping to RSHP are ongoing work.
On the other hand, this specification can be also seen as a broader effort, see Figure 6, containing certain parts of existing specifications such as Asset Management and Tracked Resource Set. In this case, these specifications should be merged reusing the existing concepts and properties. Furthermore and in order to support a full knowledge management strategy, the OSLC KM could be extended to:
The current specification is implemented in the following tools:
The research leading to these results has received funding from the ARTEMIS Joint Undertaking under grant agreement Nº 332830-CRYSTAL (CRitical sYSTem engineering AcceLeration project) and from specific national programs and/or funding authorities. This work has been also supported by the Spanish Ministry of Industry.