Warning:
This wiki has been archived and is now read-only.
Facet Property Names
This page was created to reach an agreement on the names of the facet properties built into the Core SHACL vocabulary. Votes should enumerate all viable options in descending order.
Tabular Summary of Options
chosen
Value Type | Node Kind | Cardinality | Value Shape |
---|---|---|---|
sh:class |
sh:kind |
sh:minCardinality, |
sh:shape
|
sh:objectType |
sh:nodeKind |
sh:minCardinality, |
sh:valueShape
|
sh:resourceType |
sh:nodeType |
sh:minCount, |
|
sh:type |
sh:termKind |
sh:minCount, |
|
sh:valueClass |
sh:objectKind |
sh:minOccurs, |
|
sh:valueType |
sh:valueKind |
sh:minOccurs, |
|
sh:minCount, |
Value Type
This facet restricts the values of a property by their rdf:type, i.e. all values must be instances of a given class.
Proposals:
- sh:class
- sh:objectType
- sh:resourceType
- sh:type
- sh:valueClass
- sh:valueType
Votes:
- HK: sh:type > sh:class
- RC: sh:class > the rest > sh:objectType and sh:resourceType; the last two are too confusing
- HS: sh:type > sh:class
- DK: sh:valueType > sh:valueClass
- SSt: sh:type > sh:valueType > the rest (similarity of sh:type & rdf:type is imho beneficial)
- KC: sh:valueType
- TT: sh:valueType
- AR: sh:valueType
- Comment I think we should avoid giving properties names that are already commonly used in rdf/rdfs/owl. I also think that each property needs a clear label and definition (in English for starters). This may mean creating property names that are not words, such as "consType" with a label "Constraint type" or "SHACL constraint type." Karen Coyle (talk) 14:13, 4 April 2015 (UTC)
Node Kind
This facet restricts the values of a property by their RDF node kind (IRI, blank node, or literal)
Proposals
- sh:kind
- sh:nodeKind
- sh:nodeType
- sh:termKind
- sh:objectKind (added by HS)
- sh:valueKind (added by DK)
Votes:
- HK: sh:nodeKind > sh:kind
- RC: sh:termKind > the rest
- HS: sh:objectKind > sh:kind > sh:nodeKind
- DK: sh:valueKind
- SSt: sh:valueKind > sh:nodeKind > the rest
- KC: sh:nodeType
- TT: sh:nodeType
- AR: sh:valueKind
Cardinality
re: http://www.w3.org/2014/data-shapes/track/issues/38
Also: Should we support sh:count in addition to sh:minCount and sh:maxCount? Defaults are: min=0, max=unlimited, count=unspecified, i.e. [0..*]
Proposals:
- sh:minCardinality, sh:maxCardinality
- sh:minCardinality, sh:maxCardinality, sh:cardinality
- sh:minCount, sh:maxCount
- sh:minCount, sh:maxCount, sh:count
- sh:minOccurs, sh:maxOccurs
- sh:minOccurs, sh:maxOccurs, sh:occurs
- sh:minCount, sh:maxCount, sh:exactCount (added by SSt)
Votes:
- HK: sh:minCount, sh:maxCount, sh:count (because sh:count=1 is very common and cardinality is too long).
- RC: sh:minOccurs, sh:maxOccurs > minCount, maxCount > the rest. I don't care much for the third property.
- HS: sh:minCount, sh:maxCount, sh:count (shorthand for minCount = maxCount = Count)
- DK: sh:minCount, sh:maxCount, sh:count
- SSt: sh:minCount, sh:maxCount, (sh:count || sh:exactCount)
- KC: sh:minOccurs, sh:maxOccurs (no count; count=1 is the only commonly used one, and that can be provided in user interfaces; also, count means something else in SQL and other languages, so would be confusing)
- TT: sh:minOccurs, sh:maxOccurs
- AR: sh:minOccurs, sh:maxOccurs
Value Shape
re: http://www.w3.org/2014/data-shapes/track/issues/39
This is the test of values against a given shape.
Proposals:
- sh:shape
- sh:valueShape
Votes:
- HK: sh:shape > sh:valueShape
- DK: sh:valueShape
- SSt: sh:shape > sh:valueShape
- (it depends on previous choices though (e.g. sh:type vs. sh:valueType))
- sh:shape may be confused with sh:shapes (maybe call the latter one sh:shapeSet?)
- RC: sh:shape > sh:valueShape
- KC: valueShape
- TT:valueShape
- AR: sh:valueShape