]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/schemas/schema-hth.rdf
...
[helm.git] / helm / schemas / schema-hth.rdf
index 6953b0e5a2f91eee0b4b0b42410003eda4c042f5..6c54ff9163691df2fe017470b51f8e3d07fde4cd 100644 (file)
 <!-- Rdf Schema definition for theory files:
 xmlns:hth="http://www.cs.unibo.it/~schena/schema-hth.rdf#" -->
 
+<!DOCTYPE rdf:RDF [
+        <!ENTITY rdfns 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+        <!ENTITY rdfsns 'http://www.w3.org/2000/01/rdf-schema#'>
+        <!ENTITY dcns 'http://www.cs.unibo.it/~schena/dces#'>
+        <!ENTITY dcqns 'http://www.cs.unibo.it/~schena/dcq#'>
+        <!ENTITY xschemans 'http://www.w3.org/1999/XMLSchema-datatypes#'>
+        <!ENTITY hthns 'http://www.cs.unibo.it/~schena/schema-hth.rdf#'>
+   ]>
+
 <rdf:RDF xml:lang="en"
-       xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-       xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-       xmlns:dc="http://www.cs.unibo.it/~schena/dublin_core.rdf#">
-
-<!-- RICORDA: aggiungi commento anche a proprieta' e istanze -->
-<!-- RICORDA: studiare tipi di dato (invece di Literal) -->
-<!-- RICORDA: specificare i contenuti dei dc elements -->
-<!-- RICORDA: verifica formato xml.helm.cic  -->
+       xmlns:rdf="&rdfns;"
+       xmlns:rdfs="&rdfsns;"
+       xmlns:dc="&dcns;"
+       xmlns:dcq="&dcqns;"
+       xmlns:xs="&xschemans;">
+
+<!-- RICORDA: specificare i contenuti dei dc elements: problemi con RSSDB -->
 <!-- RICORDA: aggiungi euler properties -->
 
+<!-- Description of Schema -->
+       
+<rdf:Description rdf:about="&hthns;">
+  <rdf:value>The HELM Element Set v0.1</rdf:value>
+  <dc:title>The HELM Theory Element Set v0.1</dc:title>
+  <dc:publisher>The HELM Project</dc:publisher>
+  <dc:description>The HELM metadata vocabulary is a simple vocabulary
+      intended to facilitate discovery of mathematical resources. 
+  </dc:description>
+  <dc:language>English</dc:language>
+  <dc:relation rdf:resource="http://ww.cs.unibo.it/helm/"/>
+  <dc:date>2001-12-12</dc:date>
+</rdf:Description>
+
+
 <!-- Classes -->
 
 <rdfs:Class rdf:ID="MathResource">
-     <rdfs:comment>Mathematical resource</rdfs:comment>
-     <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
+     <rdfs:comment>Mathematical resources</rdfs:comment>
+     <rdfs:subClassOf rdf:resource="&rdfsns;Resource"/>
+     <rdfs:isDefinedBy rdf:resource = "&hthns;" />
 </rdfs:Class>
 
 <rdfs:Class rdf:ID="Theory">
-     <rdfs:comment>Mathematical resource represented by a theory</rdfs:comment>
+     <rdfs:comment>Mathematical resources represented by theories</rdfs:comment>
      <rdfs:subClassOf rdf:resource="#MathResource"/>
+     <rdfs:isDefinedBy rdf:resource = "&hthns;" />
 </rdfs:Class>
 
 <rdfs:Class rdf:ID="TheoryItem">
-     <rdfs:comment>Theory item represented by: axiom, fact, definition, theorem, lemma, corollary, variable, specified by a XPath expression </rdfs:comment>
+     <rdfs:comment>Theory items represented by: axiom, fact, definition, theorem, lemma, corollary, variable, specified by a XPath expression</rdfs:comment>
+     <rdfs:isDefinedBy rdf:resource = "&hthns;" />
+</rdfs:Class>
+
+<rdfs:Class rdf:ID="HelmFormat">
+     <rdfs:comment>HELM File formats of a mathematical resource (possible values of the Dublin Core property Format). Possible values of the rdf:about 
+attribute can be XML.cic, XML.hol, XML.mizar. Each Helm format describes 
+a logical framework. The class dcq:IMT contains values as text/xml, text/xhtml,
+text/mml, text/ps, text/tex, text/pdf.</rdfs:comment>
+     <rdfs:subClassOf rdf:resource="&dcqns;FormatScheme"/>
+     <rdfs:isDefinedBy rdf:resource = "&hthns;" />
+</rdfs:Class>
+
+<rdfs:Class rdf:ID="HelmURI">
+     <rdfs:comment>HELM URIs of a mathematical resource</rdfs:comment>
+     <rdfs:subClassOf rdf:resource="&dcqns;URI"/> 
+     <rdfs:isDefinedBy rdf:resource = "&hthns;" />
 </rdfs:Class>
 
-<rdfs:Class rdf:ID="ResourceFormat">
-     <rdfs:comment>File format of a mathematical resource (possible values of the 
-Dublin Core property Format)</rdfs:comment>
+<rdfs:Class rdf:ID="HelmID">
+     <rdfs:comment>HELM identifiers</rdfs:comment>
+     <rdfs:isDefinedBy rdf:resource = "&hthns;" />
 </rdfs:Class>
 
-<rdfs:Class rdf:ID="ResourceType">
-     <rdfs:comment>Type of mathematical resource (possible values of the Dublin Core
-property Type)</rdfs:comment>
+<rdfs:Class rdf:ID="Contact">
+     <rdfs:comment>Creator contact information</rdfs:comment>
+     <rdfs:isDefinedBy rdf:resource = "&hthns;" />
 </rdfs:Class>
 
 <!-- Added subProperties of the Property dc:relation -->
 
 <rdf:Property rdf:ID="isBasedOn">
-    <rdfs:subPropertyOf rdf:resource="http://www.cs.unibo.it/~schena/dublin_core.rdf#relation"/>
-    <rdfs:domain rdf:resource="#MathResource"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
     <rdfs:comment>A relation between mathematical resources</rdfs:comment>
+    <rdfs:subPropertyOf rdf:resource="&dcns;relation"/>
+    <rdfs:domain rdf:resource="#MathResource"/>
+    <rdfs:range rdf:resource="#HelmURI"/>  
+    <rdfs:isDefinedBy rdf:resource = "&hthns;" />
 </rdf:Property>
 
 <rdf:Property rdf:ID="isBasisFor">
-    <rdfs:subPropertyOf rdf:resource="http://www.cs.unibo.it/~schena/dublin_core.rdf#relation"/>
-    <rdfs:domain rdf:resource="#MathResource"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
     <rdfs:comment>A relation between mathematical resources</rdfs:comment>
+    <rdfs:subPropertyOf rdf:resource="&dcns;relation"/>
+    <rdfs:domain rdf:resource="#MathResource"/>
+    <rdfs:range rdf:resource="#HelmURI"/>
+    <rdfs:isDefinedBy rdf:resource = "&hthns;" />
 </rdf:Property>
 
 <rdf:Property rdf:ID="isSourceFor">
-    <rdfs:subPropertyOf rdf:resource="http://www.cs.unibo.it/~schena/dublin_core.rdf#relation"/>
-    <rdfs:domain rdf:resource="#MathResource"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
     <rdfs:comment>A relation between mathematical resources</rdfs:comment>
+    <rdfs:subPropertyOf rdf:resource="&dcns;relation"/>
+    <rdfs:domain rdf:resource="#MathResource"/>
+    <rdfs:range rdf:resource="#HelmURI"/>
+    <rdfs:isDefinedBy rdf:resource = "&hthns;" />
 </rdf:Property>
 
 <rdf:Property rdf:ID="hasSource">
-    <rdfs:subPropertyOf rdf:resource="http://www.cs.unibo.it/~schena/dublin_core.rdf#relation"/>
-    <rdfs:domain rdf:resource="#MathResource"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
     <rdfs:comment>A relation between mathematical resources</rdfs:comment>
+    <rdfs:subPropertyOf rdf:resource="&dcns;relation"/>
+    <rdfs:domain rdf:resource="#MathResource"/>
+    <rdfs:range rdf:resource="#HelmURI"/>
+    <rdfs:isDefinedBy rdf:resource = "&hthns;" />
 </rdf:Property>
 
 <!--  subProperties of Property hth:dependence -->
 
-<rdf:Property rdf:ID="uses">
-    <rdfs:subPropertyOf rdf:resource="#dependence"/>
+<rdf:Property rdf:ID="uses"> 
     <rdfs:comment>A dependence between theory items (for instance: between a theorem or anything else and a variable)</rdfs:comment>
+    <rdfs:subPropertyOf rdf:resource="#dependence"/>
+    <rdfs:isDefinedBy rdf:resource = "&hthns;" />
 </rdf:Property>
 
 <rdf:Property rdf:ID="isUsedBy">
-    <rdfs:subPropertyOf rdf:resource="#dependence"/>
     <rdfs:comment>A dependence between theory items (for instance: between a variable and
 a theorem or anything else)</rdfs:comment>
+    <rdfs:subPropertyOf rdf:resource="#dependence"/>
+    <rdfs:isDefinedBy rdf:resource = "&hthns;" />
 </rdf:Property>
 
 <rdf:Property rdf:ID="hasConsequence">
-    <rdfs:subPropertyOf rdf:resource="#dependence"/>
     <rdfs:comment>A dependence between theory items (for instance: between a theorem and
-a corollary)</rdfs:comment>
+a corollary)</rdfs:comment>   
+    <rdfs:subPropertyOf rdf:resource="#dependence"/>
+    <rdfs:isDefinedBy rdf:resource = "&hthns;" />
 </rdf:Property>
 
 <rdf:Property rdf:ID="isConsequenceOf">
-    <rdfs:subPropertyOf rdf:resource="#dependence"/>
     <rdfs:comment>A dependence between theory items (for instance: between a corollary
 and a theorem). Alternatively: IsResultOf</rdfs:comment>
+    <rdfs:subPropertyOf rdf:resource="#dependence"/>
+    <rdfs:isDefinedBy rdf:resource = "&hthns;" />
 </rdf:Property>
 
 <rdf:Property rdf:ID="hasPremise">
-    <rdfs:subPropertyOf rdf:resource="#dependence"/>
     <rdfs:comment>A dependence between theory items (for instance: between a theorem
 and a lemma)</rdfs:comment>
+    <rdfs:subPropertyOf rdf:resource="#dependence"/>
+    <rdfs:isDefinedBy rdf:resource = "&hthns;" />
 </rdf:Property>
 
 <rdf:Property rdf:ID="isPremiseOf">
-    <rdfs:subPropertyOf rdf:resource="#dependence"/>
     <rdfs:comment>A dependence between theory items (for instance: between a lemma
 and a theorem)</rdfs:comment>
+    <rdfs:subPropertyOf rdf:resource="#dependence"/>
+    <rdfs:isDefinedBy rdf:resource = "&hthns;" /> 
 </rdf:Property>
 
-<!-- Text.general describes a document not of the following types. -->
-<!-- A helm theory has no type per se                              -->
-<!-- Instances of hth:ResourceType -->
-
-<rdfs:Class rdf:ID="Text.Abstract">
-    <rdf:type rdf:resource="#ResourceType"/>
-</rdfs:Class>
-
-<rdfs:Class rdf:ID="Text.Paper">
-    <rdf:type rdf:resource="#ResourceType"/>
-</rdfs:Class>
-
-<rdfs:Class rdf:ID="Text.Bibliography">
-    <rdf:type rdf:resource="#ResourceType"/>
-</rdfs:Class>
-
-<rdfs:Class rdf:ID="Text.HomePage">
-    <rdf:type rdf:resource="#ResourceType"/>
-</rdfs:Class>
-
-<rdfs:Class rdf:ID="Text.LectureNotes">
-    <rdf:type rdf:resource="#ResourceType"/>
-</rdfs:Class>
-
-<rdfs:Class rdf:ID="Text.Monograph">
-    <rdf:type rdf:resource="#ResourceType"/>
-</rdfs:Class>
-
-<rdfs:Class rdf:ID="Text.PatentSpec">
-    <rdf:type rdf:resource="#ResourceType"/>
-</rdfs:Class>
-
-<rdfs:Class rdf:ID="Text.Preprints">
-    <rdf:type rdf:resource="#ResourceType"/>
-</rdfs:Class>
-
-<rdfs:Class rdf:ID="Text.Proceedings">
-    <rdf:type rdf:resource="#ResourceType"/>
-</rdfs:Class>
-
-<rdfs:Class rdf:ID="Text.Review">
-    <rdf:type rdf:resource="#ResourceType"/>
-</rdfs:Class>
-
-<rdfs:Class rdf:ID="Text.Separatum">
-    <rdf:type rdf:resource="#ResourceType"/>
-</rdfs:Class>
-
-<rdfs:Class rdf:ID="Text.Serial">
-    <rdf:type rdf:resource="#ResourceType"/>
-</rdfs:Class>
-
-<rdfs:Class rdf:ID="Text.TechReport">
-    <rdf:type rdf:resource="#ResourceType"/>
-</rdfs:Class>
-
-<rdfs:Class rdf:ID="Text.Thesis">
-    <rdf:type rdf:resource="#ResourceType"/>
-</rdfs:Class>
-
-<rdfs:Class rdf:ID="Text.Enclosure">
-    <rdf:type rdf:resource="#ResourceType"/>
-</rdfs:Class>
-
-<rdfs:Class rdf:ID="Text.General">
-    <rdf:type rdf:resource="#ResourceType"/>
-</rdfs:Class>
-
-<rdfs:Class rdf:ID="Image">
-    <rdf:type rdf:resource="#ResourceType"/>
-</rdfs:Class>
-
-<rdfs:Class rdf:ID="Software.Exec">
-    <rdf:type rdf:resource="#ResourceType"/>
-</rdfs:Class>
-
-<rdfs:Class rdf:ID="Software.Source">
-    <rdf:type rdf:resource="#ResourceType"/>
-</rdfs:Class>
-
-<!-- NOTE: each helm format describes a logical framework -->
-<!-- Instances of hth:ResourceFormat                      -->
-
-<rdfs:Class rdf:ID="Text.xml">
-    <rdf:type rdf:resource="#ResourceFormat"/>
-</rdfs:Class>
-
-<rdfs:Class rdf:ID="Text.xhtml">
-    <rdf:type rdf:resource="#ResourceFormat"/>
-</rdfs:Class>
-
-<rdfs:Class rdf:ID="Text.mml">
-    <rdf:type rdf:resource="#ResourceFormat"/>
-</rdfs:Class>
-
-<rdfs:Class rdf:ID="Text.ps">
-    <rdf:type rdf:resource="#ResourceFormat"/>
-</rdfs:Class>
-
-<rdfs:Class rdf:ID="Text.pdf">
-    <rdf:type rdf:resource="#ResourceFormat"/>
-</rdfs:Class>
-
-<rdfs:Class rdf:ID="Text.tex">
-    <rdf:type rdf:resource="#ResourceFormat"/>
-</rdfs:Class>
-
-<rdfs:Class rdf:ID="XML.helm.cic">
-    <rdf:type rdf:resource="#ResourceFormat"/>
-</rdfs:Class>
-
-<rdfs:Class rdf:ID="XML.helm.mizar">
-    <rdf:type rdf:resource="#ResourceFormat"/>
-</rdfs:Class>
-
-<rdfs:Class rdf:ID="XML.helm.hol">
-    <rdf:type rdf:resource="#ResourceFormat"/>
-</rdfs:Class>
+<!-- Possible values of rdf:value of the dct:Text instance of dct:DCMIType,
+can be: Abstract, Paper, Bibliography, HomePage, LectureNotes, Monograph,
+PatentSpec, Preprints, Proceedings, Review, Separatum, Serial, TechReport,
+Thesis, Enclosure, General.                                               -->
+<!-- There are dct:Image and dct:Software. Possible values of rdf:value
+of the dct:Software can be: Exec, Source.                                 -->
+<!-- Text.general describes a document not of the following types.        -->
+<!-- A helm theory has no type per se                                     -->
 
 <!-- Properties -->
 
 <rdf:Property rdf:ID="theoryItem">
+    <rdfs:comment>Theory item</rdfs:comment>
     <rdfs:domain rdf:resource="#Theory"/>
     <rdfs:range rdf:resource="#TheoryItem"/>
+    <rdfs:isDefinedBy rdf:resource = "&hthns;" /> 
 </rdf:Property>
 
 <rdf:Property rdf:ID="dependence">
+    <rdfs:comment>Dependence between theory items</rdfs:comment>
     <rdfs:domain rdf:resource="#TheoryItem"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
+    <rdfs:range rdf:resource="#HelmID"/>
+    <rdfs:isDefinedBy rdf:resource = "&hthns;" /> 
 </rdf:Property>
 
 <rdf:Property rdf:ID="itemType">
     <rdfs:comment>Axiom, Fact, Definition, Theorem, Lemma, Corollary, 
 Variable. Redundant info: it is already captured by the corresponding xml data</rdfs:comment>
     <rdfs:domain rdf:resource="#TheoryItem"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
+    <rdfs:range rdf:resource="&xschemans;string"/>
+    <rdfs:isDefinedBy rdf:resource = "&hthns;" /> 
 </rdf:Property>
 
 <rdf:Property rdf:ID="label">
@@ -250,65 +196,85 @@ Variable. Redundant info: it is already captured by the corresponding xml data</
 algorithm, specification, theorem containing algorithm, verification (that the 
 implementation satisfies the specification), predicate/relation, proposition</rdfs:comment>
     <rdfs:domain rdf:resource="#TheoryItem"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
+    <rdfs:range rdf:resource="&xschemans;string"/>
+    <rdfs:isDefinedBy rdf:resource = "&hthns;" /> 
 </rdf:Property>
 
 <!-- ex. f:N->Z => N>->Z and n:Nat => n:Z -->
 <rdf:Property rdf:ID="isCoercion">
     <rdfs:comment>A Definition item can be a coercion</rdfs:comment>
     <rdfs:domain rdf:resource="#TheoryItem"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
+    <rdfs:range rdf:resource="&xschemans;boolean"/>
+    <rdfs:isDefinedBy rdf:resource = "&hthns;" /> 
 </rdf:Property>
 
 <!-- The id info is no more contained in the theory xml doc, so there isn't
 redundant info between metadata and data -->
 <rdf:Property rdf:ID="ident">
+    <rdfs:comment>Identifier of a theory item</rdfs:comment>
     <rdfs:domain rdf:resource="#TheoryItem"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-</rdf:Property>
-
-<rdf:Property rdf:ID="institution">
-    <rdfs:domain rdf:resource="#MathResource"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-</rdf:Property>
-
-<rdf:Property rdf:ID="contact">
-    <rdfs:domain rdf:resource="#MathResource"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
+    <rdfs:range rdf:resource="#HelmID"/>
+    <rdfs:isDefinedBy rdf:resource = "&hthns;" /> 
 </rdf:Property>
 
+<!-- There are also dcq:created and dcq:modified dc:date subProperties -->
 <rdf:Property rdf:ID="firstVersion">
+    <rdfs:comment>Any additional information about the first version of the
+mathematical resource</rdfs:comment>
+    <rdfs:subPropertyOf rdf:resource="&dcns;description"/> 
     <rdfs:domain rdf:resource="#MathResource"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
+    <rdfs:range rdf:resource="&xschemans;string"/>
 </rdf:Property>
 
 <rdf:Property rdf:ID="modified">
+    <rdfs:comment>Any additional information about the modified version of the
+mathematical resource</rdfs:comment>
+    <rdfs:subPropertyOf rdf:resource="&dcns;description"/> 
     <rdfs:domain rdf:resource="#MathResource"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
+    <rdfs:range rdf:resource="&xschemans;string"/>
 </rdf:Property>
 
-<!-- ATTENZIONE: si dovrebbero generare constraint che il dominio delle 
-dc properties sia hth:MathResource e che il range sia strutturato. Ma per
-fare questo e' necessario definire NUOVE proprieta' (nuovo namespace) -->
-
-<rdf:Property rdf:ID="type">
-    <rdfs:subPropertyOf rdf:resource="http://www.cs.unibo.it/~schena/dublin_core.rdf#type"/>
+<rdf:Property rdf:ID="institution">
+    <rdfs:comment>Affiliated institution of the creator of the mathematical 
+resource</rdfs:comment>
+    <rdfs:subPropertyOf rdf:resource="&dcns;creator"/>
     <rdfs:domain rdf:resource="#MathResource"/>
-    <rdfs:range rdf:resource="#ResourceType"/>
+    <rdfs:range rdf:resource="&xschemans;string"/>
+    <rdfs:isDefinedBy rdf:resource = "&hthns;" /> 
 </rdf:Property>
 
-<rdf:Property rdf:ID="format">
-    <rdfs:subPropertyOf rdf:resource="http://www.cs.unibo.it/~schena/dublin_core.rdf#format"/>
+<rdf:Property rdf:ID="contact">
+    <rdfs:comment>Contact of the creator of the mathematical 
+resource</rdfs:comment>
+    <rdfs:subPropertyOf rdf:resource="&dcns;creator"/>
     <rdfs:domain rdf:resource="#MathResource"/>
-    <rdfs:range rdf:resource="#ResourceFormat"/>
+    <rdfs:range rdf:resource="#Contact"/>
+    <rdfs:isDefinedBy rdf:resource = "&hthns;" /> 
 </rdf:Property>
 
-</rdf:RDF>
-
-
-
-
+<rdf:Property rdf:ID="email">
+    <rdfs:comment>E-mail of the creator of the mathematical 
+resource</rdfs:comment>
+    <rdfs:domain rdf:resource="#Contact"/>
+    <rdfs:range rdf:resource="&xschemans;string"/>
+    <rdfs:isDefinedBy rdf:resource = "&hthns;" /> 
+</rdf:Property>
 
+<rdf:Property rdf:ID="address">
+    <rdfs:comment>Address of the creator of the mathematical 
+resource</rdfs:comment>
+    <rdfs:domain rdf:resource="#Contact"/>
+    <rdfs:range rdf:resource="&xschemans;string"/>
+    <rdfs:isDefinedBy rdf:resource = "&hthns;" /> 
+</rdf:Property>
 
+<!-- HELM: Here we want to constraint an external (dc) property to a 
+particular range and domain (hth:MathResource). VRP gives a Warning when 
+(extending or modifying) constraining the range of a property defined 
+in another schema; the correct way is to specialize it with a subProperty. -->
+<!-- <rdf:Description rdf:about = "&dcns;type">
+    <rdfs:domain rdf:resource="#MathResource"/>
+</rdf:Description> -->
 
 
+</rdf:RDF>