This is an archive of an inactive wiki and cannot be modified.

Proposal Form

N.B. this page is maintained for historical reasons. When creating a proposed resolution, use the SkosProposalTemplate.

This page suggests a form for making proposals for SKOS. By providing all of the information requested, it should be possible to work out both the logical and practical consequences of each specific proposal. This should help us to clearly compare and evaluate different proposals. It should also provide all the information required for a normative specification, following the conventions and definitions laid out in the [RDF Concepts] and [RDF Semantics].

The description of the form is given below, with an example given for each part. Note that the example has been invented only to illustrate the use of the form, and should not be taken as an actual proposal.

0. Summary

Give an executive summary of the main points of this proposal.

1. Vocabulary

Give the vocabulary of the proposal, as a list of URIs.

For example:

skos:prefLabel skos:altLabel skos:hiddenLabel

Give also any deprecated vocabulary, as a list of URIs.

2. Axiomatic Triples

Give axiomatic triples using RDF and RDFS vocabularies.

For example:

skos:prefLabel rdfs:range rdfs:Literal.
skos:altLabel rdfs:range rdfs:Literal.
skos:hiddenLabel rdfs:range rdfs:Literal.

3. Semantic Conditions

Give any further semantics conditions on the interpretation of the vocabulary, that cannot be expressed as axiomatic triples. Semantic conditions should reuse the definitions provided in [RDF Semantics].

For example:

For any x, all members of the set { y | <x,y> is in IEXT(I(skos:prefLabel)) and y is a plain literal } have different language tags.

For any x, the sets { y | <x,y> is in IEXT(I(skos:prefLabel)) }, { y | <x,y> is in IEXT(I(skos:altLabel)) } and { y | <x,y> is in IEXT(I(skos:hiddenLabel)) } are pairwise disjoint.

If <x,y> is in IEXT(I(skos:altLabel)) then there exists some z such that <x,z> is in IEXT(I(skos:prefLabel)).

4. Consistent Examples

Give examples of usage of the vocabulary that are consistent.

For example:

<ex:a> skos:prefLabel "animals"@en; skos:altLabel "fauna"@en.
<ex:b> skos:prefLabel "abattoir"@en; skos:hiddenLabel "abbattoir"@en.

5. Inconsistent Examples

If it is possible to make inconsistent statements using the vocabulary, provide examples.

For example:

<ex:a> skos:prefLabel "foo"@en; skos:prefLabel "bar"@en.

<ex:a> skos:prefLabel "foo"@en; skos:altLabel "foo"@en.

6. Entailment Rules

Give any entailment rules that follow from the semantic conditions given in section 3.

For example:

If E contains

then add

uuu skos:altLabel xxx .

uuu skos:prefLabel _:nnn .
where _:nnn identifies a new blank node in the graph.

7. Syntactic Constraints

Use keywords MUST, SHOULD, MAY etc. [RFC 2199] to describe any syntactic constraints for the vocabulary.

For example:

Where the predicate of a triple is either skos:prefLabel, skos:altLabel or skos:hiddenLabel, the object of the triple SHOULD be a plain literal with a language tag.

8. Discussion

Provide any relevant justification for the proposal, possible drawbacks, open questions and unknowns.