]> matita.cs.unibo.it Git - helm.git/blob - helm/schemas/schema-hth
Added Files:
[helm.git] / helm / schemas / schema-hth
1 <?xml version="1.0"?>
2
3 <!-- Rdf Schema definition for theory files:
4 xmlns:hth="http://www.cs.unibo.it/~schena/schema-hth#" -->
5
6 <!DOCTYPE rdf:RDF [
7         <!ENTITY rdfns 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
8         <!ENTITY rdfsns 'http://www.w3.org/2000/01/rdf-schema#'>
9         <!ENTITY dcns 'http://www.cs.unibo.it/~schena/dces#'>
10         <!ENTITY dcqns 'http://www.cs.unibo.it/~schena/dcq#'>
11         <!ENTITY dctns 'http://www.cs.unibo.it/~schena/dctype#'>
12         <!ENTITY xschemans 'http://www.w3.org/1999/XMLSchema-datatypes#'>
13         <!ENTITY hthns 'http://www.cs.unibo.it/~schena/schema-hth#'>
14         <!ENTITY hns 'http://www.cs.unibo.it/~schena/schema-h#'>
15    ]>
16
17 <rdf:RDF xml:lang="en"
18        xmlns:rdf="&rdfns;"
19        xmlns:rdfs="&rdfsns;"
20        xmlns:dc="&dcns;"
21        xmlns:dcq="&dcqns;"
22        xmlns:dct="&dctns;"
23        xmlns:xs="&xschemans;">
24
25 <!-- RICORDA: specificare i contenuti dei dc elements: problemi con RSSDB -->
26 <!-- RICORDA: aggiungi euler properties -->
27
28 <!-- Description of Schema -->
29         
30 <rdf:Description rdf:about="&hthns;">
31   <rdfs:label>The HELM Element Set v0.1</rdfs:label>
32   <dc:title>The HELM Theory Element Set v0.1</dc:title>
33   <dc:publisher>The HELM Project</dc:publisher>
34   <dc:description>The HELM metadata vocabulary is a simple vocabulary
35       intended to facilitate discovery of mathematical resources. 
36   </dc:description>
37   <dc:language>English</dc:language>
38   <dc:relation rdf:resource="http://ww.cs.unibo.it/helm/"/>
39   <dcq:isRequiredBy rdf:resource="&hns;"/>
40   <dcq:conformsTo rdf:resource="http://www.w3.org/RDF/"/>
41   <dcq:issued>2000-6-3</dcq:issued>
42   <dcq:modified>2002-9-6</dcq:modified>
43   <rdfs:isDefinedBy rdf:resource = "&hthns;" />
44 </rdf:Description>
45
46
47 <!-- Classes -->
48
49 <rdfs:Class rdf:about="&hthns;MathResource">
50      <rdfs:comment>Mathematical resources</rdfs:comment>
51      <rdfs:subClassOf rdf:resource="&rdfsns;Resource"/>
52      <rdfs:isDefinedBy rdf:resource = "&hthns;" />
53 </rdfs:Class>
54
55 <rdfs:Class rdf:about="&hthns;Theory">
56      <rdfs:comment>Mathematical resources represented by theories</rdfs:comment>
57      <rdfs:subClassOf rdf:resource="&hthns;MathResource"/>
58      <rdfs:isDefinedBy rdf:resource = "&hthns;" />
59 </rdfs:Class>
60
61 <rdfs:Class rdf:about="&hthns;TheoryItem">
62      <rdfs:comment>Theory items represented by: axiom, fact, definition, theorem, lemma, corollary, variable, specified by a XPath expression</rdfs:comment>
63      <rdfs:isDefinedBy rdf:resource = "&hthns;" />
64 </rdfs:Class>
65
66 <rdfs:Class rdf:about="&hthns;Contact">
67      <rdfs:comment>Creator contact information</rdfs:comment>
68      <rdfs:isDefinedBy rdf:resource = "&hthns;" />
69 </rdfs:Class>
70
71 <!-- Subclass of dcq:URI, dct:Text and dct:Software -->
72
73 <rdfs:Class rdf:about="&hthns;HelmURI">
74      <rdfs:comment>HELM URIs of a mathematical resource. Subclass of dcq:URI 
75 which is an instance of the IdentifierScheme class</rdfs:comment>
76      <rdfs:subClassOf rdf:resource="&dcqns;URI"/> 
77      <rdfs:isDefinedBy rdf:resource = "&hthns;" />
78 </rdfs:Class>
79
80 <rdfs:Class rdf:about="&hthns;HELMText">
81      <rdfs:comment>HELM File text types of a mathematical resource (possible 
82 values of the Dublin Core property type). Possible values of the rdf:about 
83 attribute can be: Abstract, Paper, Bibliography, HomePage, LectureNotes, 
84 Monograph, PatentSpec, Preprints, Proceedings, Review, Separatum, Serial, 
85 TechReport, Thesis, Enclosure, General. General describes a document not of 
86 the previous types. A helm theory has no type per se. Subclass of dcq:Text 
87 which is an instance of the TypeScheme class</rdfs:comment>
88      <rdfs:subClassOf rdf:resource="&dctns;Text"/> 
89      <rdfs:isDefinedBy rdf:resource = "&hthns;" />
90 </rdfs:Class>
91
92 <rdfs:Class rdf:about="&hthns;HELMSoftware">
93      <rdfs:comment>HELM File software types of a mathematical resource 
94 (possible values of the Dublin Core property type). Possible values of the 
95 rdf:about attribute can be: Exec, Source. Subclass of dcq:Software 
96 which is an instance of the TypeScheme class</rdfs:comment>
97      <rdfs:subClassOf rdf:resource="&dctns;Software"/> 
98      <rdfs:isDefinedBy rdf:resource = "&hthns;" />
99 </rdfs:Class>
100
101 <!-- Instances of dcq:FormatScheme and dcq:IdentifierScheme -->
102 <!-- Instances are only for typing classes not for using.   -->
103
104 <dcq:FormatScheme rdf:about="&hthns;HelmFormat">
105      <rdfs:comment>Instance of the class FormatScheme to describe HELM File 
106 formats of a mathematical resource (possible values of the Dublin Core property
107 format). Possible values of the rdf:about 
108 attribute can be XML.cic, XML.hol, XML.mizar. Each Helm format describes 
109 a logical framework. The class dcq:IMT contains values as text/xml, text/xhtml,
110 text/mml, text/ps, text/tex, text/pdf.</rdfs:comment>
111      <rdf:type rdf:resource="&rdfsns;Class"/>
112      <rdfs:isDefinedBy rdf:resource = "&hthns;" />
113 </dcq:FormatScheme>
114
115 <dcq:IdentifierScheme rdf:about="&hthns;HelmID">
116      <rdfs:comment>Instance of the class IdentifierScheme to describe HELM 
117 identifiers</rdfs:comment>
118      <rdf:type rdf:resource="&rdfsns;Class"/>
119      <rdfs:isDefinedBy rdf:resource = "&hthns;" />
120 </dcq:IdentifierScheme>
121
122 <!--  SubProperties of dc:description, dc:creator, dc:relation and 
123       hth:dependence                                               -->
124
125 <!-- There are also dcq:created and dcq:modified dc:date subProperties -->
126 <rdf:Property rdf:ID="firstVersion">
127     <rdfs:comment>Any additional information about the first version of the
128 mathematical resource</rdfs:comment>
129     <rdfs:subPropertyOf rdf:resource="&dcns;description"/> 
130     <rdfs:domain rdf:resource="#MathResource"/>
131     <rdfs:range rdf:resource="&xschemans;string"/>
132 </rdf:Property>
133
134 <rdf:Property rdf:ID="modified">
135     <rdfs:comment>Any additional information about the modified version of the
136 mathematical resource</rdfs:comment>
137     <rdfs:subPropertyOf rdf:resource="&dcns;description"/> 
138     <rdfs:domain rdf:resource="#MathResource"/>
139     <rdfs:range rdf:resource="&xschemans;string"/>
140 </rdf:Property>
141
142 <rdf:Property rdf:about="&hthns;institution">
143     <rdfs:comment>Affiliated institution of the creator of the mathematical 
144 resource</rdfs:comment>
145     <rdfs:subPropertyOf rdf:resource="&dcns;creator"/>
146     <rdfs:domain rdf:resource="&hthns;MathResource"/>
147     <rdfs:range rdf:resource="&xschemans;string"/>
148     <rdfs:isDefinedBy rdf:resource = "&hthns;" /> 
149 </rdf:Property>
150
151 <rdf:Property rdf:about="&hthns;contact">
152     <rdfs:comment>Contact of the creator of the mathematical 
153 resource</rdfs:comment>
154     <rdfs:subPropertyOf rdf:resource="&dcns;creator"/>
155     <rdfs:domain rdf:resource="&hthns;MathResource"/>
156     <rdfs:range rdf:resource="#Contact"/>
157     <rdfs:isDefinedBy rdf:resource = "&hthns;" /> 
158 </rdf:Property>
159
160 <rdf:Property rdf:about="&hthns;isBasedOn">
161     <rdfs:comment>A relation between mathematical resources</rdfs:comment>
162     <rdfs:subPropertyOf rdf:resource="&dcns;relation"/>
163     <rdfs:domain rdf:resource="&hthns;MathResource"/>
164     <rdfs:range rdf:resource="&hthns;HelmURI"/>  
165     <rdfs:isDefinedBy rdf:resource = "&hthns;" />
166 </rdf:Property>
167
168 <rdf:Property rdf:about="&hthns;isBasisFor">
169     <rdfs:comment>A relation between mathematical resources</rdfs:comment>
170     <rdfs:subPropertyOf rdf:resource="&dcns;relation"/>
171     <rdfs:domain rdf:resource="&hthns;MathResource"/>
172     <rdfs:range rdf:resource="&hthns;HelmURI"/>
173     <rdfs:isDefinedBy rdf:resource = "&hthns;" />
174 </rdf:Property>
175
176 <rdf:Property rdf:about="&hthns;isSourceFor">
177     <rdfs:comment>A relation between mathematical resources</rdfs:comment>
178     <rdfs:subPropertyOf rdf:resource="&dcns;relation"/>
179     <rdfs:domain rdf:resource="&hthns;MathResource"/>
180     <rdfs:range rdf:resource="&hthns;HelmURI"/>
181     <rdfs:isDefinedBy rdf:resource = "&hthns;" />
182 </rdf:Property>
183
184 <rdf:Property rdf:about="&hthns;hasSource">
185     <rdfs:comment>A relation between mathematical resources</rdfs:comment>
186     <rdfs:subPropertyOf rdf:resource="&dcns;relation"/>
187     <rdfs:domain rdf:resource="&hthns;MathResource"/>
188     <rdfs:range rdf:resource="&hthns;HelmURI"/>
189     <rdfs:isDefinedBy rdf:resource = "&hthns;" />
190 </rdf:Property>
191
192 <rdf:Property rdf:about="&hthns;uses"> 
193     <rdfs:comment>A dependence between theory items (for instance: between a theorem or anything else and a variable)</rdfs:comment>
194     <rdfs:subPropertyOf rdf:resource="&hthns;dependence"/>
195     <rdfs:isDefinedBy rdf:resource = "&hthns;" />
196 </rdf:Property>
197
198 <rdf:Property rdf:about="&hthns;isUsedBy">
199     <rdfs:comment>A dependence between theory items (for instance: between a variable and
200 a theorem or anything else)</rdfs:comment>
201     <rdfs:subPropertyOf rdf:resource="&hthns;dependence"/>
202     <rdfs:isDefinedBy rdf:resource = "&hthns;" />
203 </rdf:Property>
204
205 <rdf:Property rdf:about="&hthns;hasConsequence">
206     <rdfs:comment>A dependence between theory items (for instance: between a theorem and
207 a corollary)</rdfs:comment>   
208     <rdfs:subPropertyOf rdf:resource="&hthns;dependence"/>
209     <rdfs:isDefinedBy rdf:resource = "&hthns;" />
210 </rdf:Property>
211
212 <rdf:Property rdf:about="&hthns;isConsequenceOf">
213     <rdfs:comment>A dependence between theory items (for instance: between a corollary
214 and a theorem). Alternatively: IsResultOf</rdfs:comment>
215     <rdfs:subPropertyOf rdf:resource="&hthns;dependence"/>
216     <rdfs:isDefinedBy rdf:resource = "&hthns;" />
217 </rdf:Property>
218
219 <rdf:Property rdf:about="&hthns;hasPremise">
220     <rdfs:comment>A dependence between theory items (for instance: between a theorem
221 and a lemma)</rdfs:comment>
222     <rdfs:subPropertyOf rdf:resource="&hthns;dependence"/>
223     <rdfs:isDefinedBy rdf:resource = "&hthns;" />
224 </rdf:Property>
225
226 <rdf:Property rdf:about="&hthns;isPremiseOf">
227     <rdfs:comment>A dependence between theory items (for instance: between a lemma
228 and a theorem)</rdfs:comment>
229     <rdfs:subPropertyOf rdf:resource="&hthns;dependence"/>
230     <rdfs:isDefinedBy rdf:resource = "&hthns;" /> 
231 </rdf:Property>
232
233 <!-- Properties -->
234
235 <rdf:Property rdf:about="&hthns;theoryItem">
236     <rdfs:comment>Theory item</rdfs:comment>
237     <rdfs:domain rdf:resource="&hthns;Theory"/>
238     <rdfs:range rdf:resource="&hthns;TheoryItem"/>
239     <rdfs:isDefinedBy rdf:resource = "&hthns;" /> 
240 </rdf:Property>
241
242 <rdf:Property rdf:about="&hthns;dependence">
243     <rdfs:comment>Dependence between theory items</rdfs:comment>
244     <rdfs:domain rdf:resource="&hthns;TheoryItem"/>
245     <rdfs:range rdf:resource="&hthns;HelmID"/>
246     <rdfs:isDefinedBy rdf:resource = "&hthns;" /> 
247 </rdf:Property>
248
249 <rdf:Property rdf:about="&hthns;itemType">
250     <rdfs:comment>Axiom, Fact, Definition, Theorem, Lemma, Corollary, 
251 Variable. Redundant info: it is already captured by the corresponding xml data</rdfs:comment>
252     <rdfs:domain rdf:resource="&hthns;TheoryItem"/>
253     <rdfs:range rdf:resource="&xschemans;string"/>
254     <rdfs:isDefinedBy rdf:resource = "&hthns;" /> 
255 </rdf:Property>
256
257 <rdf:Property rdf:about="&hthns;label">
258     <rdfs:comment>Description of the kind of objects: data type, 
259 algorithm, specification, theorem containing algorithm, verification (that the 
260 implementation satisfies the specification), predicate/relation, proposition</rdfs:comment>
261     <rdfs:domain rdf:resource="&hthns;TheoryItem"/>
262     <rdfs:range rdf:resource="&xschemans;string"/>
263     <rdfs:isDefinedBy rdf:resource = "&hthns;" /> 
264 </rdf:Property>
265
266 <!-- ex. f:N->Z => N>->Z and n:Nat => n:Z -->
267 <rdf:Property rdf:about="&hthns;isCoercion">
268     <rdfs:comment>A Definition item can be a coercion</rdfs:comment>
269     <rdfs:domain rdf:resource="&hthns;TheoryItem"/>
270     <rdfs:range rdf:resource="&xschemans;boolean"/>
271     <rdfs:isDefinedBy rdf:resource = "&hthns;" /> 
272 </rdf:Property>
273
274 <!-- The id info is no more contained in the theory xml doc, so there isn't
275 redundant info between metadata and data -->
276 <rdf:Property rdf:about="&hthns;ident">
277     <rdfs:comment>Identifier of a theory item</rdfs:comment>
278     <rdfs:domain rdf:resource="&hthns;TheoryItem"/>
279     <rdfs:range rdf:resource="&hthns;HelmID"/>
280     <rdfs:isDefinedBy rdf:resource = "&hthns;" /> 
281 </rdf:Property>
282
283 <rdf:Property rdf:about="&hthns;email">
284     <rdfs:comment>E-mail of the creator of the mathematical 
285 resource</rdfs:comment>
286     <rdfs:domain rdf:resource="&hthns;Contact"/>
287     <rdfs:range rdf:resource="&xschemans;string"/>
288     <rdfs:isDefinedBy rdf:resource = "&hthns;" /> 
289 </rdf:Property>
290
291 <rdf:Property rdf:about="&hthns;address">
292     <rdfs:comment>Address of the creator of the mathematical 
293 resource</rdfs:comment>
294     <rdfs:domain rdf:resource="&hthns;Contact"/>
295     <rdfs:range rdf:resource="&xschemans;string"/>
296     <rdfs:isDefinedBy rdf:resource = "&hthns;" /> 
297 </rdf:Property>
298
299 <!-- HELM: Constraining an external (dc) property to a particular range and 
300 domain (hth:MathResource) should be possible. VRP gives a Warning when 
301 constraining (extending, adding constraints to) the range of a property 
302 defined in another schema (Consistency problems?No because it's an error 
303 modifying the original constraints): but where is the extensibility and 
304 reusability of RDF schemas? It's ok specializing a property with a 
305 subProperty. Anyway if the range of a property is not defined, VRP validates 
306 both if the property value is a resource, a class or a Literal.
307 <rdf:Description rdf:about = "&dcns;type">
308     <rdfs:domain rdf:resource="&hthns;MathResource"/>
309 </rdf:Description> -->
310
311 </rdf:RDF>