- From: Dietrich Schulten <ds@escalon.de>
- Date: Sun, 22 Mar 2015 17:24:33 +0100
- To: public-hydra@w3.org
Hi, Am 21.03.2015 um 13:59 schrieb Dietrich Schulten: > > - in a given @context, all values of sh:member can be either individuals > (values which are URIs) or literals (values which are plain strings, > numbers, etc.), depending on whether or not sh:member is defined as > "@type":"@vocab" > > - the same applies to sh:defaultValue: the defaultValue can either be a > literal or an individual within the same @context, but not both > Tomasz helped me with this. When I say in the @context that sh:member is "@type":"@vocab", all sh:member will be interpreted as linked data names in the current vocab, *unless* I make them explicit value nodes. That way I can have both type-casted IRIs and literals in one resource. A set of allowed members with "aliased" IRIs: "sh:allowedValues": { "@type": "sh:Set", "sh:member": [ "ORDER_PROCESSING", "ORDER_DELIVERED" ] } becomes "http://www.w3.org/ns/shacl#allowedValues": { "@type": "http://www.w3.org/ns/shacl#Set", "http://www.w3.org/ns/shacl#member": [ { "@id": "http://schema.org/OrderProcessing" }, { "@id": "http://schema.org/OrderDelivered" } ] } whereas "sh:allowedValues": { "@type": "sh:Set", "sh:member": [ { "@value": "1" }, { "@value": "2" }, { "@value": "3" }, { "@value": "4" }, { "@value": "5" }, ] } becomes "http://www.w3.org/ns/shacl#allowedValues": { "@type": "http://www.w3.org/ns/shacl#Set", "http://www.w3.org/ns/shacl#member": [ "1", "2", "3", "4", "5" ] } See http://tinyurl.com/ml3mnwr for a complete example how both are used in one json-ld file sharing one @context. Best regards, Dietrich
Received on Sunday, 22 March 2015 16:25:36 UTC