Skip to content

SHACLC-C non-validating constraints shorthand and derive #388

Open
@jeswr

Description

@jeswr

I think we should add support for sh:name, sh:description and sh:order and sh:group such that each of the following are equivalent

SHACLC

shape <#ServiceShape> -> ex:Service ;
        // @name provider
        // comma-separated list of name(s) of Person(s) and/or Organization(s)
	1 ex:provider xsd:string  .
}

SHACLC

@deriveNames
@deriveOrder

shape <#ServiceShape> -> ex:Service ;
        // comma-separated list of name(s) of Person(s) and/or Organization(s)
	ex:provider xsd:string  .
}

SHACLC

@derive

shape <#ServiceShape> -> ex:Service ;
        // comma-separated list of name(s) of Person(s) and/or Organization(s)
	ex:provider xsd:string  .
}

TTL

<> a owl:Ontology .

<#ServiceShape> a sh:NamedNode ;
   sh:property [
       sh:name "provider" ;
       sh:description "comma-separated list of name(s) of Person(s) and/or Organization(s)" ;
       sh:path ex:provider ;
       sh:datatype xsd:string ;
       sh:order 1
   ] .
   

For sh:group I would want the following to result in the same PersonFromShape seen in https://www.w3.org/TR/shacl/#nonValidation

SHACLC

@derive

shape <#PersonFormShape> ;
        // @group Name
        // The person's given name(s)
	ex:firstName xsd:string  .
        // The person's last name
        ex:lastName xsd:string  .

        // @group Address
        // The street address including number
        ex:streetAddress .
        // The suburb, city or town of the address
       ex:locality .
       // The postal code of the locality
       ex:postalCode .
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions