-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathIssueSchema.shex
More file actions
36 lines (31 loc) · 1.55 KB
/
Copy pathIssueSchema.shex
File metadata and controls
36 lines (31 loc) · 1.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# IssueSchema.shex - Simple issue schema in ShExC
PREFIX ex: <http://ex.example/ns#>
PREFIX foaf: <http://xmlns.com/foaf/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
start = @<#IssueShape> # Issue validation starts with IssueShape
<#IssueShape> { # An IssueShape has:
ex:state [ex:unassigned # state which is
ex:assigned], # unassigned or assigned.
ex:reportedBy @<#UserShape>, # reported by a UserShape.
ex:reportedOn xsd:dateTime, # reported some date/time.
( # optionally
ex:reproducedBy @<#EmployeeShape>, # reproduced by someone
ex:reproducedOn xsd:dateTime # at some data/time.
)?,
ex:related @<#IssueShape>* # n related issues.
}
<#UserShape> { # A UserShape has:
( # either
foaf:name xsd:string # a FOAF name
| # or
foaf:givenName xsd:string+, # one or more givenNames
foaf:familyName xsd:string), # and one familyName.
foaf:mbox IRI # one FOAF mbox.
}
<#EmployeeShape> { # An EmployeeShape has:
foaf:givenName xsd:string+, # at least one givenName.
foaf:familyName xsd:string, # one familyName.
foaf:phone IRI*, # any number of phone numbers.
foaf:mbox IRI # one FOAF mbox.
}