-
Notifications
You must be signed in to change notification settings - Fork 9
/
profile-shapes.ttl
198 lines (192 loc) · 5.9 KB
/
profile-shapes.ttl
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
@prefix : <http://www.w3.org/ns/shacl#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix forms_: <profileFormText.ttl#> .
@prefix org: <http://www.w3.org/ns/org#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix pp: <http://paymentpointers.org/ns#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema: <http://schema.org/> .
@prefix shapes: <contact-shapes-from-form.ttl#> .
@prefix shapes_: <profile-shapes-from-form.ttl#> .
@prefix solid: <http://www.w3.org/ns/solid/terms#> .
@prefix ui: <http://www.w3.org/ns/ui#> .
@prefix vcard: <http://www.w3.org/2006/vcard/ns#> .
@prefix wd: <http://www.wikidata.org/entity/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
shapes:ProfileShape a :NodeShape;
dct:title "contact shape from form";
:closed true;
:property [
a :PropertyShape;
:datatype xsd:string;
:path vcard:note ],
[
a :PropertyShape;
:name "Born";
:path vcard:bday ],
[
a :PropertyShape;
:path vcard:hasTelephone ],
[
a :PropertyShape;
:path vcard:hasEmail ],
[
a :PropertyShape;
:path vcard:hasAddress ],
[
a :PropertyShape;
:datatype xsd:string;
:maxLength "128";
:path pp:PaymentPointer ],
[
a :PropertyShape;
:datatype xsd:string;
:maxLength "128";
:path vcard:organization-name ],
[
a :PropertyShape;
:datatype xsd:string;
:maxLength "128";
:path vcard:role ],
[
a :PropertyShape;
:datatype xsd:string;
:maxLength "128";
:name "Name";
:path vcard:fn ];
:targetClass schema:Person,
vcard:Individual,
foaf:Person .
<hand-profile-shape.ttl> dct:title "Profile shape edited by hand" .
shapes:ProfileShape a :NodeShape;
dct:title "Profile shape from form";
:property [
a :PropertyShape;
:datatype xsd:color;
:name "Highlight color";
:path solid:profileHighlightColor;
:pattern "^\\s*#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]([0-9a-f][0-9a-f])?\\s*$" ],
[
a :PropertyShape;
:datatype xsd:color;
:name "Background color";
:path solid:profileBackgroundColor;
:pattern "^\\s*#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]([0-9a-f][0-9a-f])?\\s*$" ],
[
a :PropertyShape;
:datatype xsd:string;
:name "his/hers/theirs...";
:path solid:preferredRelativePronoun ],
[
a :PropertyShape;
:datatype xsd:string;
:name "him/her/them...";
:path solid:preferredObjectPronoun ],
[
a :PropertyShape;
:datatype xsd:string;
:name "he/she/they...";
:path solid:preferredSubjectPronoun ],
[
a :PropertyShape;
:name "Involvement with Organization";
:node [
a :NodeShape;
:property [
a :PropertyShape;
:datatype xsd:string;
:name "Describe your role";
:path schema:description ],
[
a :PropertyShape;
:name "Organization"@en,
"Organization"@fr;
:path org:organization ],
[
a :PropertyShape;
:name "occupation";
:path org:role ],
[
a :PropertyShape;
:datatype xsd:string;
:path vcard:role ] ];
:path [:inversePath org:member ] ],
[
a :PropertyShape;
:name "Skills";
:node [
a :NodeShape;
:property [
a :PropertyShape;
:name "skill";
:path solid:publicId ] ];
:path schema:skills ],
[
a :PropertyShape;
:name "Languages";
:path schema:knowsLanguage;
:property [
a :PropertyShape;
:node [
a :NodeShape;
:property [
:node [
a :NodeShape;
:property [
a :PropertyShape;
:name "Language";
:path solid:publicId ] ];
:path (
[
:zeroOrMorePath rdf:rest ]
rdf:first ) ] ];
:path schema:knowsLanguage;
:targetClass rdf:Collection ] ],
[
a :PropertyShape;
:datatype xsd:string;
:name "Short name for chats, etc."@en,
"nom court"@fr;
:path foaf:nick ],
[
a :PropertyShape;
:min 1;
:name "Set type";
:path rdf:type;
:targetVale schema:Person ],
[
a :PropertyShape;
:name "Set type";
:path rdf:type;
:targetVale foaf:Person ],
[
a :PropertyShape;
:name "Set type";
:path rdf:type;
:targetValue vcard:Individual ],
[
a :PropertyShape;
:name "Friends";
:path foaf:knows;
:targetClass foaf:Person ];
sh:property [
a sh:PropertyShape;
sh:name "Mugshots";
sh:path vcard:hasPhoto;
sh:targetClass dct:Image;
]
:targetClass schema:Person,
vcard:Individual,
foaf:Person .
solid:InterestingOrganization owl:disjointUnionOf (
schema:Corporation
schema:EducationalOrganization
schema:GovernmentOrganization
schema:MedicalOrganization
schema:NGO
schema:MusicGroup
schema:Project
schema:SportsOrganization )
.