diff --git a/dmlex-v1.0/specification/dmlex.xml b/dmlex-v1.0/specification/dmlex.xml
index 7353d08..35dcd83 100644
--- a/dmlex-v1.0/specification/dmlex.xml
+++ b/dmlex-v1.0/specification/dmlex.xml
@@ -67,6 +67,14 @@
simon.krek@ijs.si
+
+ John
+ McCrae
+
+ University of Galway
+ john.mccrae@universityofgalway.ie
+
+
&pubdate;
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/CollocateMarker.xml b/dmlex-v1.0/specification/serializations/RDF/elements/CollocateMarker.xml
new file mode 100644
index 0000000..388f61c
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/CollocateMarker.xml
@@ -0,0 +1,22 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:CollocateMarker
+
+ DEFINITION MISSING
+
+
+
+ Properties
+
+ dmlex:label reference to Label
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/Definition.xml b/dmlex-v1.0/specification/serializations/RDF/elements/Definition.xml
new file mode 100644
index 0000000..167cb81
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/Definition.xml
@@ -0,0 +1,34 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:Definition
+
+ Represents one of possibly several definitions of a sense.
+
+
+
+ Properties
+
+ dmlex:listingOrder REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#nonNegativeInteger
+
+
+ dmlex:text REQUIRED (exactly 1) of type http://www.w3.org/2000/01/rdf-schema#Literal
+
+
+ dmlex:definitionType OPTIONAL (at most 1) reference to DefinitionType
+
+
+ dmlex:headwordMarker reference to HeadwordMarker
+
+
+ dmlex:collocateMarker reference to CollocateMarker
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/DefinitionTypeTag.xml b/dmlex-v1.0/specification/serializations/RDF/elements/DefinitionTypeTag.xml
new file mode 100644
index 0000000..9330bee
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/DefinitionTypeTag.xml
@@ -0,0 +1,25 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:DefinitionTypeTag
+
+ Represents one (of many) possible values for definitionType of definition.
+
+
+
+ Properties
+
+ dmlex:tag REQUIRED (exactly 1)
+
+
+ dmlex:description REQUIRED (exactly 1) of type http://www.w3.org/2000/01/rdf-schema#Literal
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/Entry.xml b/dmlex-v1.0/specification/serializations/RDF/elements/Entry.xml
new file mode 100644
index 0000000..d41d3b0
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/Entry.xml
@@ -0,0 +1,52 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:Entry
+
+ Represents a dictionary entry
+
+
+ Superclasses
+
+ http://www.w3.org/ns/lemon/ontolex#LexicalEntry
+
+
+
+
+ Properties
+
+ dmlex:headword REQUIRED (exactly 1) of type http://www.w3.org/2000/01/rdf-schema#Literal
+
+
+ dmlex:homographNumber OPTIONAL (at most 1) of type http://www.w3.org/2001/XMLSchema#nonNegativeInteger
+
+
+ dmlex:sense reference to Sense (subproperty of http://www.w3.org/ns/lemon/ontolex#evokes)
+
+
+ dmlex:etymology reference to Etymology
+
+
+ dmlex:partOfSpeech reference to PartOfSpeech
+
+
+ dmlex:label reference to Label
+
+
+ dmlex:pronunciation reference to Pronunciation
+
+
+ dmlex:inflectedForm reference to InflectedForm
+
+
+ dmlex:placeholderMarker reference to PlaceholderMarker
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/Etymology.xml b/dmlex-v1.0/specification/serializations/RDF/elements/Etymology.xml
new file mode 100644
index 0000000..2a7a967
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/Etymology.xml
@@ -0,0 +1,28 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:Etymology
+
+ Represents a chain of historical derivations of a word.
+
+
+
+ Properties
+
+ dmlex:listingOrder REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#nonNegativeInteger
+
+
+ dmlex:description OPTIONAL (at most 1) of type http://www.w3.org/2000/01/rdf-schema#Literal
+
+
+ dmlex:etymon reference to Etymon
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/Etymon.xml b/dmlex-v1.0/specification/serializations/RDF/elements/Etymon.xml
new file mode 100644
index 0000000..24bff01
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/Etymon.xml
@@ -0,0 +1,34 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:Etymon
+
+ Represents one stage (of possibly several) in the etymological history of the headword.
+
+
+
+ Properties
+
+ dmlex:type OPTIONAL (at most 1) of type http://www.w3.org/2001/XMLSchema#string
+
+
+ dmlex:when OPTIONAL (at most 1) of type http://www.w3.org/2001/XMLSchema#string
+
+
+ dmlex:note OPTIONAL (at most 1) of type http://www.w3.org/2001/XMLSchema#string
+
+
+ dmlex:etymonUnit REQUIRED (at least 1) reference to EtymonUnit
+
+
+ dmlex:translation OPTIONAL (at most 1) of type http://www.w3.org/2001/XMLSchema#string
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/EtymonLanguage.xml b/dmlex-v1.0/specification/serializations/RDF/elements/EtymonLanguage.xml
new file mode 100644
index 0000000..feb94b5
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/EtymonLanguage.xml
@@ -0,0 +1,25 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:EtymonLanguage
+
+ Represents one of several allowed values for the language property of etymonUnit objects.
+
+
+
+ Properties
+
+ dmlex:langCode REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#language
+
+
+ dmlex:displayName OPTIONAL (at most 1) of type http://www.w3.org/2001/XMLSchema#string
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/EtymonType.xml b/dmlex-v1.0/specification/serializations/RDF/elements/EtymonType.xml
new file mode 100644
index 0000000..b4e7f33
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/EtymonType.xml
@@ -0,0 +1,25 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:EtymonType
+
+ Represents one of possible values for the type of etymon.
+
+
+
+ Properties
+
+ dmlex:description OPTIONAL (at most 1) of type http://www.w3.org/2000/01/rdf-schema#Literal
+
+
+ dmlex:type REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#string
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/EtymonUnit.xml b/dmlex-v1.0/specification/serializations/RDF/elements/EtymonUnit.xml
new file mode 100644
index 0000000..3acb47b
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/EtymonUnit.xml
@@ -0,0 +1,37 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:EtymonUnit
+
+ Represents a form (typically a word) which is the etymological origin of the headword, or another etymologically related form
+
+
+
+ Properties
+
+ dmlex:listingOrder REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#nonNegativeInteger
+
+
+ dmlex:language REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#language (subproperty of http://www.w3.org/ns/lemon/lime#language)
+
+
+ dmlex:partOfSpeech reference to PartOfSpeech
+
+
+ dmlex:text REQUIRED (exactly 1) of type http://www.w3.org/2000/01/rdf-schema#Literal
+
+
+ dmlex:translation OPTIONAL (at most 1) of type http://www.w3.org/2001/XMLSchema#string
+
+
+ dmlex:reconstructed OPTIONAL (at most 1) of type http://www.w3.org/2001/XMLSchema#boolean
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/Example.xml b/dmlex-v1.0/specification/serializations/RDF/elements/Example.xml
new file mode 100644
index 0000000..7078c03
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/Example.xml
@@ -0,0 +1,46 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:Example
+
+ Represents a sentence or other text fragment which illustrates the headword being used.
+
+
+
+ Properties
+
+ dmlex:listingOrder REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#nonNegativeInteger
+
+
+ dmlex:label reference to Label
+
+
+ dmlex:text REQUIRED (exactly 1) of type http://www.w3.org/2000/01/rdf-schema#Literal
+
+
+ dmlex:soundFile OPTIONAL (at most 1) of type http://www.w3.org/2001/XMLSchema#anyURI
+
+
+ dmlex:sourceIdentity OPTIONAL (at most 1) of type http://www.w3.org/2000/01/rdf-schema#Literal
+
+
+ dmlex:sourceElaboration OPTIONAL (at most 1) of type http://www.w3.org/2000/01/rdf-schema#Literal
+
+
+ dmlex:exampleTranslation reference to ExampleTranslation
+
+
+ dmlex:headwordMarker reference to HeadwordMarker
+
+
+ dmlex:collocateMarker reference to CollocateMarker
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/ExampleTranslation.xml b/dmlex-v1.0/specification/serializations/RDF/elements/ExampleTranslation.xml
new file mode 100644
index 0000000..b154d47
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/ExampleTranslation.xml
@@ -0,0 +1,40 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:ExampleTranslation
+
+ Represents the translation of an example.
+
+
+
+ Properties
+
+ dmlex:listingOrder of type http://www.w3.org/2001/XMLSchema#nonNegativeInteger
+
+
+ dmlex:language OPTIONAL (at most 1) of type http://www.w3.org/2001/XMLSchema#language (subproperty of http://www.w3.org/ns/lemon/lime#language)
+
+
+ dmlex:label reference to Label
+
+
+ dmlex:text REQUIRED (exactly 1) of type http://www.w3.org/2000/01/rdf-schema#Literal
+
+
+ dmlex:soundFile of type http://www.w3.org/2001/XMLSchema#anyURI
+
+
+ dmlex:headwordMarker reference to HeadwordMarker
+
+
+ dmlex:collocateMarker reference to CollocateMarker
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/HeadwordExplanation.xml b/dmlex-v1.0/specification/serializations/RDF/elements/HeadwordExplanation.xml
new file mode 100644
index 0000000..2e86b1e
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/HeadwordExplanation.xml
@@ -0,0 +1,25 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:HeadwordExplanation
+
+ Represents a statement in the translation language which explains (but does not translate) the meaning of the headword.
+
+
+
+ Properties
+
+ dmlex:language OPTIONAL (at most 1) of type http://www.w3.org/2001/XMLSchema#language (subproperty of http://www.w3.org/ns/lemon/lime#language)
+
+
+ dmlex:text REQUIRED (exactly 1) of type http://www.w3.org/2000/01/rdf-schema#Literal
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/HeadwordMarker.xml b/dmlex-v1.0/specification/serializations/RDF/elements/HeadwordMarker.xml
new file mode 100644
index 0000000..77bf06f
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/HeadwordMarker.xml
@@ -0,0 +1,25 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:HeadwordMarker
+
+ Marks up a substring inside an example, inside an example translation or inside a definition which corresponds to the headword (or to a translation of the headword)
+
+
+
+ Properties
+
+ dmlex:startIndex REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#string
+
+
+ dmlex:endIndex REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#string
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/HeadwordTranslation.xml b/dmlex-v1.0/specification/serializations/RDF/elements/HeadwordTranslation.xml
new file mode 100644
index 0000000..a5981b8
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/HeadwordTranslation.xml
@@ -0,0 +1,40 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:HeadwordTranslation
+
+ Represents one of possibly multiple translations of a headword
+
+
+
+ Properties
+
+ dmlex:listingOrder REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#nonNegativeInteger
+
+
+ dmlex:partOfSpeech reference to PartOfSpeech
+
+
+ dmlex:label reference to Label
+
+
+ dmlex:pronunciation reference to Pronunciation
+
+
+ dmlex:inflectedForm reference to InflectedForm
+
+
+ dmlex:text REQUIRED (exactly 1) of type http://www.w3.org/2000/01/rdf-schema#Literal
+
+
+ dmlex:placeholderMarker reference to PlaceholderMarker
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/InflectedForm.xml b/dmlex-v1.0/specification/serializations/RDF/elements/InflectedForm.xml
new file mode 100644
index 0000000..5e6f206
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/InflectedForm.xml
@@ -0,0 +1,40 @@
+
+
+ %xinclude;
+
+ ]>
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/InflectedFormTag.xml b/dmlex-v1.0/specification/serializations/RDF/elements/InflectedFormTag.xml
new file mode 100644
index 0000000..30a0fb9
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/InflectedFormTag.xml
@@ -0,0 +1,37 @@
+
+
+ %xinclude;
+
+ ]>
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/Label.xml b/dmlex-v1.0/specification/serializations/RDF/elements/Label.xml
new file mode 100644
index 0000000..86fb207
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/Label.xml
@@ -0,0 +1,25 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:Label
+
+ Represents a restriction on its parent such as temporal (old-fashioned, neologism), regional (dialect), register (formal, colloquial), domain (medicine, politics) or grammar (singular-only).
+
+
+
+ Properties
+
+ dmlex:listingOrder REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#nonNegativeInteger
+
+
+ dmlex:tag REQUIRED (exactly 1)
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/LabelTag.xml b/dmlex-v1.0/specification/serializations/RDF/elements/LabelTag.xml
new file mode 100644
index 0000000..5f10799
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/LabelTag.xml
@@ -0,0 +1,37 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:LabelTag
+
+ Represents one (of many) possible values for tag of label.
+
+
+
+ Properties
+
+ dmlex:tag REQUIRED (exactly 1)
+
+
+ dmlex:description REQUIRED (exactly 1) of type http://www.w3.org/2000/01/rdf-schema#Literal
+
+
+ dmlex:forHeadwords OPTIONAL (at most 1) of type http://www.w3.org/2001/XMLSchema#boolean
+
+
+ dmlex:forTranslations OPTIONAL (at most 1) of type http://www.w3.org/2001/XMLSchema#boolean
+
+
+ dmlex:forLanguage of type http://www.w3.org/2001/XMLSchema#language
+
+
+ dmlex:forPartOfSpeech of type http://www.w3.org/2000/01/rdf-schema#Literal
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/LabelTypeTag.xml b/dmlex-v1.0/specification/serializations/RDF/elements/LabelTypeTag.xml
new file mode 100644
index 0000000..68b4f85
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/LabelTypeTag.xml
@@ -0,0 +1,25 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:LabelTypeTag
+
+ Represents one (of many) possible values for typeTag of labelTag.
+
+
+
+ Properties
+
+ dmlex:tag REQUIRED (exactly 1)
+
+
+ dmlex:description REQUIRED (exactly 1) of type http://www.w3.org/2000/01/rdf-schema#Literal
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/LexicographicResource.xml b/dmlex-v1.0/specification/serializations/RDF/elements/LexicographicResource.xml
new file mode 100644
index 0000000..b57a1a5
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/LexicographicResource.xml
@@ -0,0 +1,70 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:LexicographicResource
+
+ Represents a dictionary
+
+
+ Superclasses
+
+ http://www.w3.org/ns/lemon/lime#Lexicon
+
+
+
+
+ Properties
+
+ dmlex:title of type http://www.w3.org/2000/01/rdf-schema#Literal
+
+
+ dmlex:uri of type http://www.w3.org/2001/XMLSchema#anyURI
+
+
+ dmlex:entry reference to Entry (subproperty of http://www.w3.org/ns/lemon/lime#entry)
+
+
+ dmlex:translationLanguage reference to TranslationLanguage
+
+
+ dmlex:definitionTypeTag reference to DefinitionTypeTag
+
+
+ dmlex:inflectedFormTag reference to InflectedFormTag
+
+
+ dmlex:labelTypeTag reference to LabelTypeTag
+
+
+ dmlex:partOfSpeechTag reference to PartOfSpeechTag
+
+
+ dmlex:sourceIdentityTag reference to SourceIdentityTag
+
+
+ dmlex:transcriptionSchemeTag reference to TranscriptionSchemeTag
+
+
+ dmlex:relation reference to Relation
+
+
+ dmlex:relationType reference to RelationType
+
+
+ dmlex:etymonType reference to EtymonType
+
+
+ dmlex:etymonLanguage reference to EtymonLanguage
+
+
+ dmlex:language REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#language (subproperty of http://www.w3.org/ns/lemon/lime#language)
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/Member.xml b/dmlex-v1.0/specification/serializations/RDF/elements/Member.xml
new file mode 100644
index 0000000..1f18ae0
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/Member.xml
@@ -0,0 +1,31 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:Member
+
+ Represents the fact that an object, such as an entry or a sense, is a member of a relation.
+
+
+
+ Properties
+
+ dmlex:listingOrder REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#nonNegativeInteger
+
+
+ dmlex:memberID REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#string
+
+
+ dmlex:role OPTIONAL (at most 1) of type http://www.w3.org/2001/XMLSchema#string
+
+
+ dmlex:obverseListingOrder REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#integer
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/MemberType.xml b/dmlex-v1.0/specification/serializations/RDF/elements/MemberType.xml
new file mode 100644
index 0000000..eeb562e
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/MemberType.xml
@@ -0,0 +1,34 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:MemberType
+
+ Represents one of possible values for the role of member, as well as various restrictions on members having this role.
+
+
+
+ Properties
+
+ dmlex:description OPTIONAL (at most 1) of type http://www.w3.org/2000/01/rdf-schema#Literal
+
+
+ dmlex:role REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#string
+
+
+ dmlex:min OPTIONAL (at most 1) of type http://www.w3.org/2001/XMLSchema#nonNegativeInteger
+
+
+ dmlex:max OPTIONAL (at most 1) of type http://www.w3.org/2001/XMLSchema#nonNegativeInteger
+
+
+ dmlex:action OPTIONAL (at most 1) of type http://www.w3.org/2001/XMLSchema#string
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/PartOfSpeech.xml b/dmlex-v1.0/specification/serializations/RDF/elements/PartOfSpeech.xml
new file mode 100644
index 0000000..9e7f8a8
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/PartOfSpeech.xml
@@ -0,0 +1,25 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:PartOfSpeech
+
+ Represents a part of speech label
+
+
+
+ Properties
+
+ dmlex:listingOrder REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#nonNegativeInteger
+
+
+ dmlex:tag REQUIRED (exactly 1)
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/PartOfSpeechTag.xml b/dmlex-v1.0/specification/serializations/RDF/elements/PartOfSpeechTag.xml
new file mode 100644
index 0000000..500d313
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/PartOfSpeechTag.xml
@@ -0,0 +1,37 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:PartOfSpeechTag
+
+ Represents one (of many) possible values for tag of partOfSpeech.
+
+
+
+ Properties
+
+ dmlex:tag REQUIRED (exactly 1)
+
+
+ dmlex:description REQUIRED (exactly 1) of type http://www.w3.org/2000/01/rdf-schema#Literal
+
+
+ dmlex:forHeadwords OPTIONAL (at most 1) of type http://www.w3.org/2001/XMLSchema#boolean
+
+
+ dmlex:forTranslations OPTIONAL (at most 1) of type http://www.w3.org/2001/XMLSchema#boolean
+
+
+ dmlex:forLanguage of type http://www.w3.org/2001/XMLSchema#language
+
+
+ dmlex:forPartOfSpeech of type http://www.w3.org/2000/01/rdf-schema#Literal
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/PlaceholderMarker.xml b/dmlex-v1.0/specification/serializations/RDF/elements/PlaceholderMarker.xml
new file mode 100644
index 0000000..146114c
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/PlaceholderMarker.xml
@@ -0,0 +1,25 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:PlaceholderMarker
+
+ Marks up a substring inside a headword or inside a headword translation which is not part of the expression itself but stands for things that can take its place.
+
+
+
+ Properties
+
+ dmlex:startIndex REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#string
+
+
+ dmlex:endIndex REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#string
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/Pronunciation.xml b/dmlex-v1.0/specification/serializations/RDF/elements/Pronunciation.xml
new file mode 100644
index 0000000..c7918cd
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/Pronunciation.xml
@@ -0,0 +1,31 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:Pronunciation
+
+ DEFINITION MISSING
+
+
+
+ Properties
+
+ dmlex:listingOrder REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#nonNegativeInteger
+
+
+ dmlex:label reference to Label
+
+
+ dmlex:soundFile OPTIONAL (at most 1) of type http://www.w3.org/2001/XMLSchema#anyURI
+
+
+ dmlex:transcription reference to Transcription
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/Relation.xml b/dmlex-v1.0/specification/serializations/RDF/elements/Relation.xml
new file mode 100644
index 0000000..e904525
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/Relation.xml
@@ -0,0 +1,28 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:Relation
+
+ Represents the fact that a relation exists between two or more objects.
+
+
+
+ Properties
+
+ dmlex:description OPTIONAL (at most 1) of type http://www.w3.org/2000/01/rdf-schema#Literal
+
+
+ dmlex:type REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#string
+
+
+ dmlex:member REQUIRED (at least 2) reference to Member
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/RelationType.xml b/dmlex-v1.0/specification/serializations/RDF/elements/RelationType.xml
new file mode 100644
index 0000000..7a3712f
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/RelationType.xml
@@ -0,0 +1,34 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:RelationType
+
+ Represents one of possible values for the type of relation.
+
+
+
+ Properties
+
+ dmlex:description OPTIONAL (at most 1) of type http://www.w3.org/2000/01/rdf-schema#Literal
+
+
+ dmlex:description OPTIONAL (at most 1) of type http://www.w3.org/2000/01/rdf-schema#Literal
+
+
+ dmlex:type REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#string
+
+
+ dmlex:scope OPTIONAL (at most 1) of type http://www.w3.org/2001/XMLSchema#string
+
+
+ dmlex:memberType reference to MemberType
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/Sense.xml b/dmlex-v1.0/specification/serializations/RDF/elements/Sense.xml
new file mode 100644
index 0000000..9e43aa9
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/Sense.xml
@@ -0,0 +1,46 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:Sense
+
+ Represents one of possibly many meanings (or meaning potentials) of the headword.
+
+
+ Superclasses
+
+ http://www.w3.org/ns/lemon/ontolex#LexicalConcept
+
+
+
+
+ Properties
+
+ dmlex:listingOrder REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#nonNegativeInteger
+
+
+ dmlex:label reference to Label
+
+
+ dmlex:indicator OPTIONAL (at most 1) reference to Indicator
+
+
+ dmlex:definition reference to Definition
+
+
+ dmlex:example reference to Example
+
+
+ dmlex:headwordExplanation reference to HeadwordExplanation
+
+
+ dmlex:headwordTranslation reference to HeadwordTranslation
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/SourceIdentityTag.xml b/dmlex-v1.0/specification/serializations/RDF/elements/SourceIdentityTag.xml
new file mode 100644
index 0000000..22e8429
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/SourceIdentityTag.xml
@@ -0,0 +1,25 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:SourceIdentityTag
+
+ Represents one (of many) possible values for sourceIdentity of example.
+
+
+
+ Properties
+
+ dmlex:tag REQUIRED (exactly 1)
+
+
+ dmlex:description REQUIRED (exactly 1) of type http://www.w3.org/2000/01/rdf-schema#Literal
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/Transcription.xml b/dmlex-v1.0/specification/serializations/RDF/elements/Transcription.xml
new file mode 100644
index 0000000..49ea174
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/Transcription.xml
@@ -0,0 +1,25 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:Transcription
+
+ Represents the transcription of a pronunciation in some notation such as IPA.
+
+
+
+ Properties
+
+ dmlex:listingOrder REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#nonNegativeInteger
+
+
+ dmlex:text REQUIRED (exactly 1) of type http://www.w3.org/2000/01/rdf-schema#Literal
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/TranscriptionSchemeTag.xml b/dmlex-v1.0/specification/serializations/RDF/elements/TranscriptionSchemeTag.xml
new file mode 100644
index 0000000..a99d433
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/TranscriptionSchemeTag.xml
@@ -0,0 +1,34 @@
+
+
+ %xinclude;
+
+ ]>
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/elements/TranslationLanguage.xml b/dmlex-v1.0/specification/serializations/RDF/elements/TranslationLanguage.xml
new file mode 100644
index 0000000..a8dd9c2
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/elements/TranslationLanguage.xml
@@ -0,0 +1,25 @@
+
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:TranslationLanguage
+
+ Represents one of the languages in which translations are given in this lexicographic resource
+
+
+
+ Properties
+
+ dmlex:listingOrder REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#nonNegativeInteger
+
+
+ dmlex:langCode REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#language
+
+
+
+
+
\ No newline at end of file
diff --git a/dmlex-v1.0/specification/serializations/RDF/gen_docbook_from_rdf.py b/dmlex-v1.0/specification/serializations/RDF/gen_docbook_from_rdf.py
new file mode 100644
index 0000000..eb85f99
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/gen_docbook_from_rdf.py
@@ -0,0 +1,104 @@
+import rdflib
+from glob import glob
+from rdflib.namespace import RDF, RDFS, OWL, XSD, Namespace
+from collections import defaultdict
+from rdflib.collection import Collection
+
+DMLEX = "http://www.oasis-open.org/to-be-confirmed/dmlex#"
+
+def describe_property(g, property, file, restrictions):
+ file.write(f"""
+
+ dmlex:{property.split("#")[-1]}""")
+ if property in restrictions:
+ file.write(f""" {restrictions[property]}""")
+ for o in g.objects(property, RDFS.range):
+ if isinstance(o, rdflib.term.URIRef):
+ if str(o).startswith(DMLEX):
+ file.write(f""" reference to {str(o)[len(DMLEX):]}""")
+ else:
+ file.write(f""" of type {o}""")
+ for o in g.objects(property, RDFS.subPropertyOf):
+ if isinstance(o, rdflib.term.URIRef):
+ file.write(f""" (subproperty of {o})""")
+ file.write("""
+ """)
+
+
+def parse_rdf():
+ g = rdflib.Graph()
+ g.parse("ontology/dmlex.ttl", format="turtle")
+
+ props = defaultdict(list)
+ # First scan for domains
+ for s, p, o in g.triples((None, RDFS.domain, None)):
+ if isinstance(o, rdflib.term.URIRef):
+ props[o].append(s)
+ else:
+ for listname in g.objects(o, OWL.unionOf):
+ for item in Collection(g, listname):
+ props[item].append(s)
+ # Generate for each class
+ for class_uri in g.subjects(RDF.type, OWL.Class):
+ if isinstance(class_uri, rdflib.term.URIRef):
+ uri = str(class_uri)
+ name = uri.split("#")[-1]
+
+ definition = "DEFINITION MISSING"
+ for o in g.objects(class_uri, RDFS.comment):
+ definition = str(o)
+ break
+
+ subclasses = []
+ restrictions = {}
+ for o in g.objects(class_uri, RDFS.subClassOf):
+ if isinstance(o, rdflib.term.URIRef):
+ subclasses.append(o)
+ elif isinstance(o, rdflib.term.BNode):
+ for o2 in g.objects(o, OWL.onProperty):
+ for o3 in g.objects(o, OWL.cardinality):
+ restrictions[o2] = f" REQUIRED (exactly {o3})"
+ for o3 in g.objects(o, OWL.maxCardinality):
+ restrictions[o2] = f" OPTIONAL (at most {o3})"
+ for o3 in g.objects(o, OWL.minCardinality):
+ restrictions[o2] = f" REQUIRED (at least {o3})"
+
+ with open(f"elements/{name}.xml", "w") as f:
+ f.write(f"""
+
+ %xinclude;
+
+ ]>
+
+ RDF element: dmlex:{name}
+
+ {definition}
+""")
+ if subclasses:
+ f.write(f"""
+
+ Superclasses""")
+ for s in subclasses:
+ f.write(f"""
+
+ {s}
+ """)
+ f.write(f"""
+ """)
+ f.write("""
+
+
+ Properties""")
+
+ for p in props[class_uri]:
+ describe_property(g, p, f, restrictions)
+ f.write("""
+
+
+
+""")
+
+if __name__ == "__main__":
+ parse_rdf()
diff --git a/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-inline.ttl b/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-annotation.ttl
similarity index 74%
rename from dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-inline.ttl
rename to dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-annotation.ttl
index a8a5e01..8be7869 100644
--- a/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-inline.ttl
+++ b/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-annotation.ttl
@@ -1,4 +1,4 @@
-## The ontology for DMLex - Inline Markup module
+## The ontology for DMLex
## Author: John P. McCrae
@prefix dmlex: .
@@ -9,13 +9,17 @@
@prefix rdfs: .
@prefix xsd: .
+################################################################################
+## Annotation Module
+
dmlex:placeholderMarker a owl:ObjectProperty ;
rdfs:label "Placeholder Marker"@en ;
rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:Headword dmlex:HeadwordTranslation ) ] ;
+ owl:unionOf ( dmlex:Entry dmlex:HeadwordTranslation ) ] ;
rdfs:range dmlex:PlaceholderMarker .
dmlex:PlaceholderMarker a owl:Class ;
+ rdfs:comment "Marks up a substring inside a headword or inside a headword translation which is not part of the expression itself but stands for things that can take its place."@en ;
rdfs:label "Placeholder Marker"@en ;
rdfs:subClassOf [
a owl:Restriction ;
@@ -43,13 +47,14 @@ dmlex:headwordMarker a owl:ObjectProperty ;
owl:unionOf ( dmlex:Definition dmlex:Example dmlex:ExampleTranslation ) ] ;
rdfs:range dmlex:HeadwordMarker .
-dmlex:itemMarker a owl:ObjectProperty ;
- rdfs:label "Item Marker"@en ;
+dmlex:collocateMarker a owl:ObjectProperty ;
+ rdfs:label "Collocate Marker"@en ;
rdfs:domain [ a owl:Class ;
owl:unionOf ( dmlex:Definition dmlex:Example dmlex:ExampleTranslation ) ] ;
- rdfs:range dmlex:ItemMarker .
+ rdfs:range dmlex:CollocateMarker .
dmlex:HeadwordMarker a owl:Class ;
+ rdfs:comment "Marks up a substring inside an example, inside an example translation or inside a definition which corresponds to the headword (or to a translation of the headword)"@en ;
rdfs:label "HeadwordMarker"@en ;
rdfs:subClassOf [
a owl:Restriction ;
@@ -59,8 +64,8 @@ dmlex:HeadwordMarker a owl:Class ;
owl:onProperty dmlex:endIndex ;
owl:cardinality 1 ] .
-dmlex:ItemMarker a owl:Class ;
- rdfs:label "ItemMarker"@en ;
+dmlex:CollocateMarker a owl:Class ;
+ rdfs:label "Collocate Marker"@en ;
rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty dmlex:startIndex ;
@@ -74,15 +79,4 @@ dmlex:lemma a owl:DatatypeProperty ;
rdfs:domain dmlex:ItemMarker ;
rdfs:range xsd:string .
-dmlex:itemRole a owl:ObjectProperty ;
- rdfs:label "ItemRole"@en ;
- rdfs:domain dmlex:ItemMark ;
- rdfs:range dmlex:ItemRole .
-
-dmlex:ItemRole a owl:Class ;
- rdfs:label "ItemRole"@en ;
- rdfs:subClassOf [
- a owl:Restriction ;
- owl:onProperty dmlex:value ;
- owl:cardinality 1 ] .
diff --git a/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-controlled-values.ttl b/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-controlled-values.ttl
new file mode 100644
index 0000000..f673b91
--- /dev/null
+++ b/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-controlled-values.ttl
@@ -0,0 +1,185 @@
+## The ontology for DMLex
+## Author: John P. McCrae
+
+@prefix dmlex: .
+@prefix lime: .
+@prefix ontolex: .
+@prefix owl: .
+@prefix rdf: .
+@prefix rdfs: .
+@prefix xsd: .
+
+################################################################################
+## Controlled Values Module
+
+dmlex:definitionTypeTag a owl:ObjectProperty ;
+ rdfs:label "Definition Type Tag"@en ;
+ rdfs:domain dmlex:LexicographicResource ;
+ rdfs:range dmlex:DefinitionTypeTag .
+
+dmlex:inflectedFormTag a owl:ObjectProperty ;
+ rdfs:label "Inflected Form Tag"@en ;
+ rdfs:domain dmlex:LexicographicResource ;
+ rdfs:range dmlex:InflectedFormTag .
+
+dmlex:labelTag a owl:ObjectProperty ;
+ rdfs:label "Label Tag"@en ;
+ rdf:domain dmlex:LexicographicResource ;
+ rdfs:range dmlex:LabelTag .
+
+dmlex:labelTypeTag a owl:ObjectProperty ;
+ rdfs:label "Label Type Tag"@en ;
+ rdfs:domain dmlex:LexicographicResource ;
+ rdfs:range dmlex:LabelTypeTag .
+
+dmlex:partOfSpeechTag a owl:ObjectProperty ;
+ rdfs:label "Part of Speech Tag"@en ;
+ rdfs:domain dmlex:LexicographicResource ;
+ rdfs:range dmlex:PartOfSpeechTag .
+
+dmlex:sourceIdentityTag a owl:ObjectProperty ;
+ rdfs:label "Source Identity Tag"@en ;
+ rdfs:domain dmlex:LexicographicResource ;
+ rdfs:range dmlex:SourceIdentityTag .
+
+dmlex:transcriptionSchemeTag a owl:ObjectProperty ;
+ rdfs:label "Transcription Scheme Tag"@en ;
+ rdfs:domain dmlex:LexicographicResource ;
+ rdfs:range dmlex:TranscriptionSchemeTag .
+
+dmlex:description a owl:DatatypeProperty ;
+ rdfs:label "Description"@en ;
+ rdfs:domain [ a owl:Class ;
+ owl:unionOf ( dmlex:DefinitionTypeTag dmlex:InflectedFormTag dmlex:LabelTag dmlex:LabelTypeTag dmlex:PartOfSpeechTag dmlex:SourceIdentityTag dmlex:TranscriptionSchemeTag dmlex:Relation dmlex:RelationType dmlex:RelationType dmlex:MemberType dmlex:Etymology dmlex:EtymonType ) ] ;
+ rdfs:range rdfs:Literal .
+
+dmlex:DefinitionTypeTag a owl:Class ;
+ rdfs:comment "Represents one (of many) possible values for definitionType of definition."@en ;
+ rdfs:label "Definition Type Tag"@en ;
+ rdfs:subClassOf [
+ a owl:Restriction ;
+ owl:onProperty dmlex:tag ;
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:description ;
+ owl:cardinality 1 ] .
+
+dmlex:InflectedFormTag a owl:Class ;
+ rdfs:comment "Represents one (of many) possible values for tag of inflectedForm"@en ;
+ rdfs:label "Inflected Form Tag"@en ;
+ rdfs:subClassOf [
+ a owl:Restriction ;
+ owl:onProperty dmlex:tag ;
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:description ;
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:forHeadwords ;
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:forTranslations ;
+ owl:maxCardinality 1 ] .
+
+
+dmlex:forHeadwords a owl:ObjectProperty ;
+ rdfs:label "For Headwords"@en ;
+ rdfs:domain [ a owl:Class ;
+ owl:unionOf ( dmlex:InflectedFormTag dmlex:LabelTag dmlex:PartOfSpeechTag dmlex:TranscriptionSchemeTag ) ] ;
+ rdfs:range xsd:boolean .
+
+dmlex:forTranslations a owl:ObjectProperty ;
+ rdfs:label "For Translations"@en ;
+ rdfs:domain [ a owl:Class ;
+ owl:unionOf ( dmlex:InflectedFormTag dmlex:LabelTag dmlex:PartOfSpeechTag dmlex:TranscriptionSchemeTag ) ] ;
+ rdfs:range xsd:boolean .
+
+dmlex:forLanguage a owl:ObjectProperty ;
+ rdfs:label "For Language"@en ;
+ rdfs:domain [ a owl:Class ;
+ owl:unionOf ( dmlex:InflectedFormTag dmlex:LabelTag dmlex:PartOfSpeechTag dmlex:TranscriptionSchemeTag ) ] ;
+ rdfs:range xsd:language .
+
+dmlex:forPartOfSpeech a owl:ObjectProperty ;
+ rdfs:label "For Part of Speech"@en ;
+ rdfs:domain [ a owl:Class ;
+ owl:unionOf ( dmlex:InflectedFormTag dmlex:LabelTag dmlex:PartOfSpeechTag ) ] ;
+ rdfs:range rdfs:Literal .
+
+dmlex:LabelTag a owl:Class ;
+ rdfs:comment "Represents one (of many) possible values for tag of label."@en ;
+ rdfs:label "Label Tag"@en ;
+ rdfs:subClassOf [
+ a owl:Restriction ;
+ owl:onProperty dmlex:tag ;
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:description ;
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:typeTag ;
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:forHeadwords ;
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:forTranslations ;
+ owl:maxCardinality 1 ] .
+
+dmlex:LabelTypeTag a owl:Class ;
+ rdfs:comment "Represents one (of many) possible values for typeTag of labelTag."@en ;
+ rdfs:label "Label Type Tag"@en ;
+ rdfs:subClassOf [
+ a owl:Restriction ;
+ owl:onProperty dmlex:tag ;
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:description ;
+ owl:cardinality 1 ] .
+
+dmlex:PartOfSpeechTag a owl:Class ;
+ rdfs:comment "Represents one (of many) possible values for tag of partOfSpeech."@en ;
+ rdfs:label "Part of Speech Tag"@en ;
+ rdfs:subClassOf [
+ a owl:Restriction ;
+ owl:onProperty dmlex:tag ;
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:description ;
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:forHeadwords ;
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:forTranslations ;
+ owl:maxCardinality 1 ] .
+
+dmlex:SourceIdentityTag a owl:Class ;
+ rdfs:comment "Represents one (of many) possible values for sourceIdentity of example."@en ;
+ rdfs:label "Source Identity Tag"@en ;
+ rdfs:subClassOf [
+ a owl:Restriction ;
+ owl:onProperty dmlex:tag ;
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:description ;
+ owl:cardinality 1 ] .
+
+dmlex:TranscriptionSchemeTag a owl:Class ;
+ rdfs:comment "Represents one (of many) possible values for scheme of transcription."@en ;
+ rdfs:label "Transcription Scheme Tag"@en ;
+ rdfs:subClassOf [
+ a owl:Restriction ;
+ owl:onProperty dmlex:tag ;
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:description ;
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:forHeadwords ;
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:forTranslations ;
+ owl:maxCardinality 1 ] .
+
+
diff --git a/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-core.ttl b/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-core.ttl
index 0862871..762b83c 100644
--- a/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-core.ttl
+++ b/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-core.ttl
@@ -9,7 +9,17 @@
@prefix rdfs: .
@prefix xsd: .
+################################################################################
+## Core Module
+
+dmlex:listingOrder a owl:DatatypeProperty ;
+ rdfs:label "Listing Order"@en ;
+ rdfs:domain [ a owl:Class ;
+ owl:unionOf ( dmlex:PartOfSpeech dmlex:InflectedForm dmlex:Sense dmlex:Definition dmlex:Label dmlex:Pronunciation dmlex:Transcription dmlex:Example dmlex:TranslationLanguage dmlex:HeadwordTranslation dmlex:ExampleTranslation dmlex:Member dmlex:Etymology dmlex:EtymonUnit ) ] ;
+ rdfs:range xsd:nonNegativeInteger .
+
dmlex:LexicographicResource a owl:Class ;
+ rdfs:comment "Represents a dictionary"@en ;
rdfs:label "Lexicographic resource"@en ;
rdfs:subClassOf [
a owl:Restriction ;
@@ -28,6 +38,9 @@ dmlex:uri a owl:DatatypeProperty ;
dmlex:language a owl:DatatypeProperty ;
rdfs:label "Language"@en ;
+ rdfs:domain [ a owl:Class ;
+ owl:unionOf ( dmlex:LexicographicResource dmlex:HeadwordExplanation dmlex:ExampleTranslation dmlex:EtymonUnit ) ] ;
+ rdfs:range xsd:language ;
rdfs:subPropertyOf lime:language .
dmlex:entry a owl:ObjectProperty ;
@@ -36,17 +49,17 @@ dmlex:entry a owl:ObjectProperty ;
rdfs:range dmlex:Entry ;
rdfs:subPropertyOf lime:entry .
-dmlex:tag a owl:ObjectProperty ;
- rdfs:label "Tag"@en ;
- rdfs:domain dmlex:LexicographicResource ;
- rdfs:range dmlex:Tag .
-
dmlex:Entry a owl:Class ;
+ rdfs:comment "Represents a dictionary entry"@en ;
rdfs:label "Entry"@en ;
rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty dmlex:headword ;
- owl:cardinality 1 ] , ontolex:LexicalEntry .
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:homographNumber ;
+ owl:maxCardinality 1 ] ,
+ ontolex:LexicalEntry .
dmlex:headword a owl:DatatypeProperty ;
rdfs:label "Headword"@en ;
@@ -61,13 +74,13 @@ dmlex:homographNumber a owl:DatatypeProperty ;
dmlex:partOfSpeech a owl:ObjectProperty ;
rdfs:label "Part of Speech"@en ;
rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:Entry dmlex:HeadwordTranslation ) ] ;
+ owl:unionOf ( dmlex:Entry dmlex:HeadwordTranslation dmlex:EtymonUnit ) ] ;
rdfs:range dmlex:PartOfSpeech .
dmlex:label a owl:ObjectProperty ;
rdfs:label "Label"@en ;
rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:Entry dmlex:InflectedForm dmlex:Sense dmlex:Pronunciation dmlex:Example dmlex:HeadwordTranslation dmlex:Etymon) ] ;
+ owl:unionOf ( dmlex:Entry dmlex:InflectedForm dmlex:Sense dmlex:Pronunciation dmlex:Example dmlex:HeadwordTranslation dmlex:ExampleTranslation dmlex:CollocateMarker ) ] ;
rdfs:range dmlex:Label .
dmlex:pronunciation a owl:ObjectProperty ;
@@ -89,27 +102,28 @@ dmlex:sense a owl:ObjectProperty ;
rdfs:subPropertyOf ontolex:evokes .
dmlex:PartOfSpeech a owl:Class ;
+ rdfs:comment "Represents a part of speech label"@en ;
rdfs:label "Part of Speech"@en ;
rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:value ;
+ owl:onProperty dmlex:tag ;
owl:cardinality 1 ] , [
a owl:Restriction ;
owl:onProperty dmlex:listingOrder ;
owl:cardinality 1 ] .
-dmlex:listingOrder a owl:DatatypeProperty ;
- rdfs:label "Listing Order"@en ;
- rdfs:range xsd:nonNegativeInteger .
-
-dmlex:value a owl:DatatypeProperty ;
- rdfs:label "Value"@en .
+dmlex:tag a owl:DatatypeProperty ;
+ rdfs:label "Tag"@en ;
+ rdfs:domain [ a owl:Class ;
+ owl:unionOf ( dmlex:PartOfSpeech dmlex:InflectedForm dmlex:Label dmlex:DefinitionTypeTag dmlex:InflectedFormTag dmlex:LabelTag dmlex:LabelTypeTag dmlex:PartOfSpeechTag dmlex:SourceIdentityTag dmlex:TranscriptionSchemeTag) ] ;
+ rdf:range rdfs:Literal .
dmlex:InflectedForm a owl:Class ;
+ rdfs:comment "Represents one (of possibly many) inflected forms of the headword"@en ;
rdfs:label "Inflected Form"@en ;
rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:inflectedTag ;
+ owl:onProperty dmlex:tag ;
owl:maxCardinality 1 ] , [
a owl:Restriction ;
owl:onProperty dmlex:text ;
@@ -120,19 +134,21 @@ dmlex:InflectedForm a owl:Class ;
dmlex:text a owl:DatatypeProperty ;
rdfs:label "Text"@en ;
- rdfs:range rdfs:Literal .
-
-dmlex:inflectedTag a owl:DatatypeProperty ;
- rdfs:label "Inflected Tag"@en ;
- rdfs:domain dmlex:InflectedForm ;
+ rdfs:domain [ a owl:Class ;
+ owl:unionOf ( dmlex:InflectedForm dmlex:Definition dmlex:Transcription dmlex:Example dmlex:HeadwordTranslation dmlex:HeadwordExplanation dmlex:ExampleTranslation dmlex:EtymonUnit ) ] ;
rdfs:range rdfs:Literal .
dmlex:Sense a owl:Class ;
+ rdfs:comment "Represents one of possibly many meanings (or meaning potentials) of the headword."@en ;
rdfs:label "Sense"@en ;
rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty dmlex:listingOrder ;
- owl:cardinality 1 ] , ontolex:LexicalConcept .
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:indicator ;
+ owl:maxCardinality 1 ] ,
+ ontolex:LexicalConcept .
dmlex:indicator a owl:ObjectProperty ;
rdfs:label "Indicator"@en ;
@@ -150,10 +166,11 @@ dmlex:example a owl:ObjectProperty ;
rdfs:range dmlex:Example .
dmlex:Definition a owl:Class ;
+ rdfs:comment "Represents one of possibly several definitions of a sense."@en ;
rdfs:label "Definition"@en ;
rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:value ;
+ owl:onProperty dmlex:text ;
owl:cardinality 1 ] , [
a owl:Restriction ;
owl:onProperty dmlex:definitionType ;
@@ -168,10 +185,11 @@ dmlex:definitionType a owl:ObjectProperty ;
rdfs:range dmlex:DefinitionType .
dmlex:Label a owl:Class ;
+ rdfs:comment "Represents a restriction on its parent such as temporal (old-fashioned, neologism), regional (dialect), register (formal, colloquial), domain (medicine, politics) or grammar (singular-only)."@en ;
rdfs:label "Label"@en ;
rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:value ;
+ owl:onProperty dmlex:tag ;
owl:cardinality 1 ] , [
a owl:Restriction ;
owl:onProperty dmlex:listingOrder ;
@@ -199,27 +217,35 @@ dmlex:transcription a owl:ObjectProperty ;
rdfs:range dmlex:Transcription .
dmlex:Transcription a owl:Class ;
+ rdfs:comment "Represents the transcription of a pronunciation in some notation such as IPA."@en ;
rdfs:label "Transcription"@en ;
rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty dmlex:text ;
- owl:cardinality 1 ] , [
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:scheme ;
+ owl:maxCardinality 1 ] , [
a owl:Restriction ;
owl:onProperty dmlex:listingOrder ;
owl:cardinality 1 ] .
dmlex:Example a owl:Class ;
+ rdfs:comment "Represents a sentence or other text fragment which illustrates the headword being used."@en ;
rdfs:label "Example"@en ;
rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty dmlex:text ;
- owl:cardinality 1 ] , [
+ owl:cardinality 1 ] , [
a owl:Restriction ;
owl:onProperty dmlex:sourceIdentity ;
- owl:maxCardinality 1 ] , [
+ owl:maxCardinality 1 ] , [
a owl:Restriction ;
owl:onProperty dmlex:sourceElaboration ;
- owl:maxCardinality 1 ] , [
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:soundFile ;
+ owl:maxCardinality 1 ] , [
a owl:Restriction ;
owl:onProperty dmlex:listingOrder ;
owl:cardinality 1 ] .
@@ -234,36 +260,80 @@ dmlex:sourceElaboration a owl:DatatypeProperty ;
rdfs:domain dmlex:Example ;
rdfs:range rdfs:Literal .
-dmlex:Tag a owl:Class ;
- rdfs:label "Tag"@en ;
+################################################################################
+## Crosslingual Modules
+
+dmlex:translationLanguage a owl:ObjectProperty ;
+ rdfs:label "Translation Language"@en ;
+ rdfs:domain dmlex:LexicographicResource ;
+ rdfs:range dmlex:TranslationLanguage .
+
+dmlex:TranslationLanguage a owl:Class ;
+ rdfs:comment "Represents one of the languages in which translations are given in this lexicographic resource"@en ;
+ rdfs:label "TranslationLanguage"@en ;
rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:value ;
+ owl:onProperty dmlex:langCode ;
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:listingOrder ;
owl:cardinality 1 ] .
-dmlex:description a owl:DatatypeProperty ;
- rdfs:label "Description"@en ;
- rdfs:range rdfs:Literal .
-
-dmlex:target a owl:DatatypeProperty ;
- rdfs:label "Target"@en ;
- rdfs:domain dmlex:Tag ;
- rdfs:range xsd:string .
+dmlex:langCode a owl:ObjectProperty ;
+ rdfs:label "Language Code"@en ;
+ rdfs:domain [ a owl:Class ;
+ owl:unionOf ( dmlex:TranslationLanguage dmlex:EtymonLanguage ) ] ;
+ rdfs:range xsd:language .
-dmlex:partOfSpeechConstraint a owl:ObjectProperty ;
- rdfs:label "Part of Speech Constraint"@en ;
- rdfs:domain dmlex:Tag ;
- rdfs:range dmlex:PartOfSpeechConstraint .
+dmlex:headwordExplanation a owl:ObjectProperty ;
+ rdfs:label "Headword Explanation"@en ;
+ rdfs:domain dmlex:Sense ;
+ rdfs:range dmlex:HeadwordExplanation .
-dmlex:sameAs a owl:ObjectProperty ;
- rdfs:label "Same As"@en ;
- rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:Tag dmlex:RelationType dmlex:MemberRole ) ] ;
- rdfs:range dmlex:SameAs .
+dmlex:headwordTranslation a owl:ObjectProperty ;
+ rdfs:label "Headword Translation"@en ;
+ rdfs:domain dmlex:Sense ;
+ rdfs:range dmlex:HeadwordTranslation .
-dmlex:SameAs a owl:Class ;
- rdfs:label "SameAs"@en ;
+dmlex:HeadwordTranslation a owl:Class ;
+ rdfs:comment "Represents one of possibly multiple translations of a headword"@en ;
+ rdfs:label "Headword Translation"@en ;
rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:value ;
+ owl:onProperty dmlex:text ;
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:language ;
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:listingOrder ;
owl:cardinality 1 ] .
+
+dmlex:HeadwordExplanation a owl:Class ;
+ rdfs:comment "Represents a statement in the translation language which explains (but does not translate) the meaning of the headword."@en ;
+ rdfs:label "Headword Explanation"@en ;
+ rdfs:subClassOf [
+ a owl:Restriction ;
+ owl:onProperty dmlex:text ;
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:language ;
+ owl:maxCardinality 1 ] .
+
+dmlex:exampleTranslation a owl:ObjectProperty ;
+ rdfs:label "Example Translation"@en ;
+ rdfs:domain dmlex:Example ;
+ rdfs:range dmlex:ExampleTranslation .
+
+dmlex:ExampleTranslation a owl:Class ;
+ rdfs:comment "Represents the translation of an example."@en ;
+ rdfs:label "Example Translation"@en ;
+ rdfs:subClassOf [
+ a owl:Restriction ;
+ owl:onProperty dmlex:text ;
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:language ;
+ owl:maxCardinality 1 ] .
+
+
diff --git a/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-etymology.ttl b/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-etymology.ttl
index cbad711..9328d00 100644
--- a/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-etymology.ttl
+++ b/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-etymology.ttl
@@ -9,186 +9,132 @@
@prefix rdfs: .
@prefix xsd: .
+################################################################################
+## Etymology Module
+
dmlex:etymology a owl:ObjectProperty ;
rdfs:label "Etymology"@en ;
rdfs:domain dmlex:Entry ;
rdfs:range dmlex:Etymology .
dmlex:Etymology a owl:Class ;
- rdfs:label "Etymology"@en .
-
-dmlex:etymDescription a owl:DatatypeProperty ;
- rdfs:label "EtymDescription"@en ;
- rdfs:domain dmlex:Etymology ;
- rdfs:range xsd:string .
+ rdfs:comment "Represents a chain of historical derivations of a word."@en ;
+ rdfs:label "Etymology"@en ;
+ rdfs:subClassOf [
+ a owl:Restriction ;
+ owl:onProperty dmlex:description ;
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:listingOrder ;
+ owl:cardinality 1 ] .
dmlex:etymon a owl:ObjectProperty ;
rdfs:label "Etymon"@en ;
rdfs:domain dmlex:Etymology ;
rdfs:range dmlex:Etymon .
-dmlex:multiEtymon a owl:ObjectProperty ;
- rdfs:label "MultiEtymon"@en ;
- rdfs:domain dmlex:Etymology ;
- rdfs:range dmlex:MultiEtymon .
-
dmlex:Etymon a owl:Class ;
+ rdfs:comment "Represents one stage (of possibly several) in the etymological history of the headword."@en ;
rdfs:label "Etymon"@en ;
- rdfs:subClassOf [
+ rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:text ;
- owl:cardinality 1 ] , [
+ owl:onProperty dmlex:when ;
+ owl:maxCardinality 1 ] , [
a owl:Restriction ;
owl:onProperty dmlex:type ;
- owl:maxCardinality 1 ] , [
- a owl:Restriction ;
- owl:onProperty dmlex:language ;
- owl:cardinality 1 ] , [
- a owl:Restriction ;
- owl:onProperty dmlex:note ;
owl:maxCardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:reconstructed ;
+ owl:onProperty dmlex:note ;
owl:maxCardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:label ;
- owl:maxCardinality 1 ] , [
- a owl:Restriction ;
- owl:onProperty dmlex:href ;
- owl:maxCardinality 1 ] , [
+ owl:onProperty dmlex:etymonUnit ;
+ owl:minCardinality 1 ] , [
a owl:Restriction ;
+ owl:onProperty dmlex:translation ;
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
owl:onProperty dmlex:listingOrder ;
- owl:cardinality 1 ] , [
- a owl:Restriction ;
- owl:onProperty dmlex:etymDate ;
- owl:maxCardinality 1 ] .
+ owl:cardinality 1 ] .
-dmlex:type a owl:DatatypeProperty ;
- rdfs:label "Type"@en ;
- rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:Relation dmlex:Etymon dmlex:MultiEtymon ) ] ;
+dmlex:when a owl:DatatypeProperty ;
+ rdfs:label "When"@en ;
+ rdfs:domain dmlex:Etymon ;
rdfs:range xsd:string .
dmlex:note a owl:DatatypeProperty ;
rdfs:label "Note"@en ;
- rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:Etymon dmlex:MultiEtymon ) ] ;
- rdfs:range xsd:string .
+ rdfs:domain dmlex:Etymon ;
+ rdfs:range xsd:string .
-dmlex:reconstructed a owl:DatatypeProperty ;
- rdfs:label "Reconstructed"@en ;
- rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:Etymon dmlex:MultiEtymon ) ] ;
- rdfs:range xsd:boolean .
+dmlex:etymonUnit a owl:ObjectProperty ;
+ rdfs:label "Etymon Unit"@en ;
+ rdfs:domain dmlex:Etymon ;
+ rdfs:range dmlex:EtymonUnit .
-dmlex:href a owl:DatatypeProperty ;
- rdfs:label "HREF"@en ;
+dmlex:translation a owl:DataProperty ;
+ rdfs:label "Translation"@en ;
rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:Etymon dmlex:MultiEtymon ) ] ;
- rdfs:range xsd:anyURI .
-
-dmlex:etymTranslation a owl:ObjectProperty ;
- rdfs:label "Etymology Translation"@en ;
- rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:Etymon dmlex:MultiEtymon ) ] ;
- rdfs:range dmlex:EtymTranslation .
-
-dmlex:etymDate a owl:ObjectProperty ;
- rdfs:label "Etymology Date"@en ;
- rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:Etymon dmlex:MultiEtymon ) ] ;
- rdfs:range dmlex:EtymDate .
+ owl:unionOf ( dmlex:Etymon dmlex:EtymonUnit ) ] ;
+ rdfs:range xsd:string .
-dmlex:MultiEtymon a owl:Class ;
- rdfs:label "Etymon"@en ;
- rdfs:subClassOf [
- a owl:Restriction ;
- owl:onProperty dmlex:etymon ;
- owl:minCardinality 1 ] , [
- a owl:Restriction ;
- owl:onProperty dmlex:type ;
- owl:maxCardinality 1 ] , [
+dmlex:EtymonUnit a owl:Class ;
+ rdfs:comment "Represents a form (typically a word) which is the etymological origin of the headword, or another etymologically related form"@en ;
+ rdfs:label "Etymon Unit"@en ;
+ rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty dmlex:language ;
- owl:cardinality 1 ] , [
+ owl:cardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:note ;
- owl:maxCardinality 1 ] , [
+ owl:onProperty dmlex:text ;
+ owl:cardinality 1 ] , [
a owl:Restriction ;
owl:onProperty dmlex:reconstructed ;
owl:maxCardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:label ;
- owl:maxCardinality 1 ] , [
- a owl:Restriction ;
- owl:onProperty dmlex:href ;
- owl:maxCardinality 1 ] , [
+ owl:onProperty dmlex:translation ;
+ owl:maxCardinality 1 ] , [
a owl:Restriction ;
owl:onProperty dmlex:listingOrder ;
- owl:cardinality 1 ] , [
- a owl:Restriction ;
- owl:onProperty dmlex:etymDate ;
- owl:maxCardinality 1 ] .
-
-dmlex:EtymTranslation a owl:Class ;
- rdfs:label "EtymTranslation"@en ;
- rdfs:subClassOf [
- a owl:Restriction ;
- owl:onProperty dmlex:value ;
owl:cardinality 1 ] .
-dmlex:EtymDate a owl:Class ;
- rdfs:label "Etymology Date"@en ;
- rdfs:subClassOf [
+dmlex:reconstructed a owl:DatatypeProperty ;
+ rdfs:label "Reconstructed"@en ;
+ rdfs:domain dmlex:EtymonUnit ;
+ rdfs:range xsd:boolean .
+
+dmlex:etymonType a owl:ObjectProperty ;
+ rdfs:label "Etymon Type"@en ;
+ rdfs:domain dmlex:LexicographicResource ;
+ rdfs:range dmlex:EtymonType .
+
+dmlex:EtymonType a owl:Class ;
+ rdfs:comment "Represents one of possible values for the type of etymon."@en ;
+ rdfs:label "Etymon Type"@en ;
+ rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:start ;
- owl:maxCardinality 1 ] , [
+ owl:onProperty dmlex:type ;
+ owl:cardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:end ;
+ owl:onProperty dmlex:description ;
owl:maxCardinality 1 ] .
-dmlex:start a owl:DatatypeProperty ;
- rdfs:label "Start"@en ;
- rdfs:domain dmlex:EtymDate .
-
-
-dmlex:end a owl:DatatypeProperty ;
- rdfs:label "End"@en ;
- rdfs:domain dmlex:EtymDate .
-
dmlex:etymonLanguage a owl:ObjectProperty ;
rdfs:label "Etymon Language"@en ;
rdfs:domain dmlex:LexicographicResource ;
rdfs:range dmlex:EtymonLanguage .
dmlex:EtymonLanguage a owl:Class ;
+ rdfs:comment "Represents one of several allowed values for the language property of etymonUnit objects."@en ;
rdfs:label "Etymon Language"@en ;
- rdfs:subClassOf [
+ rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:value ;
+ owl:onProperty dmlex:langCode ;
owl:cardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:iso639-1 ;
- owl:maxCardinality 1 ] , [
- a owl:Restriction ;
- owl:onProperty dmlex:iso639-3 ;
- owl:maxCardinality 1 ] , [
- a owl:Restriction ;
- owl:onProperty dmlex:displayValue ;
+ owl:onProperty dmlex:displayName ;
owl:maxCardinality 1 ] .
-dmlex:iso639-1 a owl:DatatypeProperty ;
- rdfs:label "ISO 639-1 code"@en ;
- rdfs:domain dmlex:EtymonLanguage ;
- rdfs:range xsd:string .
-
-dmlex:iso639-3 a owl:DatatypeProperty ;
- rdfs:label "ISO 639-3 code"@en ;
+dmlex:displayName a owl:ObjectProperty ;
+ rdfs:label "Display Name"@en ;
rdfs:domain dmlex:EtymonLanguage ;
rdfs:range xsd:string .
-
-dmlex:displayValue a owl:DatatypeProperty ;
- rdfs:label "Display Value"@en ;
- rdfs:domain dmlex:EtymonLanguage ;
- rdfs:range xsd:string .
-
diff --git a/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-linking.ttl b/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-linking.ttl
index 1b3024d..e6897a9 100644
--- a/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-linking.ttl
+++ b/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-linking.ttl
@@ -1,4 +1,4 @@
-## The ontology for DMLex - Linking Module
+## The ontology for DMLex
## Author: John P. McCrae
@prefix dmlex: .
@@ -9,6 +9,9 @@
@prefix rdfs: .
@prefix xsd: .
+################################################################################
+## Linking Module
+
dmlex:relation a owl:ObjectProperty ;
rdfs:label "Relation"@en ;
rdfs:domain dmlex:LexicographicResource ;
@@ -20,19 +23,23 @@ dmlex:relationType a owl:ObjectProperty ;
rdfs:range dmlex:RelationType .
dmlex:Relation a owl:Class ;
+ rdfs:comment "Represents the fact that a relation exists between two or more objects."@en ;
rdfs:label "Relation"@en ;
rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty dmlex:type ;
owl:cardinality 1 ] , [
a owl:Restriction ;
+ owl:onProperty dmlex:description ;
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
owl:onProperty dmlex:member ;
owl:minCardinality 2 ] .
dmlex:type a owl:DatatypeProperty ;
rdfs:label "Type"@en ;
rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:Relation dmlex:Etymon dmlex:MultiEtymon ) ] ;
+ owl:unionOf ( dmlex:Relation dmlex:RelationType dmlex:Etymon dmlex:EtymonType ) ] ;
rdfs:range xsd:string .
dmlex:member a owl:ObjectProperty ;
@@ -41,66 +48,82 @@ dmlex:member a owl:ObjectProperty ;
rdfs:range dmlex:Member .
dmlex:Member a owl:Class ;
+ rdfs:comment "Represents the fact that an object, such as an entry or a sense, is a member of a relation."@en ;
rdfs:label "Member"@en ;
rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:idref ;
+ owl:onProperty dmlex:memberID ;
owl:cardinality 1 ] , [
a owl:Restriction ;
+ owl:onProperty dmlex:role ;
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
owl:onProperty dmlex:listingOrder ;
owl:cardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:reverseListingOrder ;
+ owl:onProperty dmlex:obverseListingOrder ;
owl:cardinality 1 ] .
-dmlex:idref a owl:DatatypeProperty ;
- rdfs:label "ID ref"@en ;
- rdfs:domain dmlex:Member ;
+dmlex:memberID a owl:DatatypeProperty ;
+ rdfs:label "Member ID"@en ;
+ rdfs:domain [ a owl:Class ;
+ owl:unionOf ( dmlex:Member ) ] ;
rdfs:range xsd:string .
dmlex:role a owl:DatatypeProperty ;
rdfs:label "Role"@en ;
- rdfs:domain dmlex:Member ;
+ rdfs:domain [ a owl:Class ;
+ owl:unionOf ( dmlex:Member dmlex:MemberType ) ] ;
rdfs:range xsd:string .
-dmlex:reverseListingOrder a owl:DatatypeProperty ;
- rdfs:label "Reverse Listing Order"@en ;
- rdfs:range xsd:nonNegativeInteger .
+dmlex:obverseListingOrder a owl:DatatypeProperty ;
+ rdfs:label "Obverse Listing Order"@en ;
+ rdfs:domain dmlex:Member ;
+ rdfs:range xsd:integer .
dmlex:RelationType a owl:Class ;
+ rdfs:comment "Represents one of possible values for the type of relation."@en ;
rdfs:label "Relation Type"@en ;
rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:value ;
- owl:cardinality 1 ] .
+ owl:onProperty dmlex:type ;
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:description ;
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:scope ;
+ owl:maxCardinality 1 ] .
dmlex:scope a owl:DatatypeProperty ;
rdfs:label "Scope"@en ;
rdfs:domain dmlex:RelationType ;
rdfs:range xsd:string .
-dmlex:memberRole a owl:ObjectProperty ;
- rdfs:label "Member Role"@en ;
+dmlex:memberType a owl:ObjectProperty ;
+ rdfs:label "Member Type"@en ;
rdfs:domain dmlex:RelationType ;
- rdfs:range dmlex:MemberRole .
+ rdfs:range dmlex:MemberType .
-dmlex:MemberRole a owl:Class ;
- rdfs:label "Member Role"@en ;
+dmlex:MemberType a owl:Class ;
+ rdfs:comment "Represents one of possible values for the role of member, as well as various restrictions on members having this role."@en ;
+ rdfs:label "Member Type"@en ;
rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:value ;
+ owl:onProperty dmlex:role ;
owl:cardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:memberType ;
- owl:cardinality 1 ] , [
+ owl:onProperty dmlex:description ;
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:min ;
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:max ;
+ owl:maxCardinality 1 ] , [
a owl:Restriction ;
owl:onProperty dmlex:action ;
- owl:cardinality 1 ] .
-
-dmlex:memberType a owl:DatatypeProperty ;
- rdfs:label "MemberType"@en ;
- rdfs:domain dmlex:MemberRole ;
- rdfs:range xsd:string .
+ owl:maxCardinality 1 ] .
dmlex:min a owl:DatatypeProperty ;
rdfs:label "Min"@en ;
@@ -117,3 +140,4 @@ dmlex:action a owl:DatatypeProperty ;
rdfs:domain dmlex:MemberType ;
rdfs:range xsd:string .
+
diff --git a/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-xlingual.ttl b/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-xlingual.ttl
index d116eb6..8807148 100644
--- a/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-xlingual.ttl
+++ b/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-xlingual.ttl
@@ -1,4 +1,4 @@
-## The ontology for DMLex - Crosslingual module
+## The ontology for DMLex
## Author: John P. McCrae
@prefix dmlex: .
@@ -9,21 +9,31 @@
@prefix rdfs: .
@prefix xsd: .
+################################################################################
+## Crosslingual Modules
+
dmlex:translationLanguage a owl:ObjectProperty ;
rdfs:label "Translation Language"@en ;
rdfs:domain dmlex:LexicographicResource ;
rdfs:range dmlex:TranslationLanguage .
dmlex:TranslationLanguage a owl:Class ;
+ rdfs:comment "Represents one of the languages in which translations are given in this lexicographic resource"@en ;
rdfs:label "TranslationLanguage"@en ;
rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:value ;
+ owl:onProperty dmlex:langCode ;
owl:cardinality 1 ] , [
a owl:Restriction ;
owl:onProperty dmlex:listingOrder ;
owl:cardinality 1 ] .
+dmlex:langCode a owl:ObjectProperty ;
+ rdfs:label "Language Code"@en ;
+ rdfs:domain [ a owl:Class ;
+ owl:unionOf ( dmlex:TranslationLanguage dmlex:EtymonLanguage ) ] ;
+ rdfs:range xsd:language .
+
dmlex:headwordExplanation a owl:ObjectProperty ;
rdfs:label "Headword Explanation"@en ;
rdfs:domain dmlex:Sense ;
@@ -31,26 +41,33 @@ dmlex:headwordExplanation a owl:ObjectProperty ;
dmlex:headwordTranslation a owl:ObjectProperty ;
rdfs:label "Headword Translation"@en ;
- rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:Sense dmlex:PartOfSpeech dmlex:Label dmlex:Pronunciation dmlex:InflectedForm) ] ;
+ rdfs:domain dmlex:Sense ;
rdfs:range dmlex:HeadwordTranslation .
dmlex:HeadwordTranslation a owl:Class ;
+ rdfs:comment "Represents one of possibly multiple translations of a headword"@en ;
rdfs:label "Headword Translation"@en ;
rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty dmlex:text ;
- owl:cardinality 1 ] , [
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:language ;
+ owl:maxCardinality 1 ] , [
a owl:Restriction ;
owl:onProperty dmlex:listingOrder ;
owl:cardinality 1 ] .
dmlex:HeadwordExplanation a owl:Class ;
+ rdfs:comment "Represents a statement in the translation language which explains (but does not translate) the meaning of the headword."@en ;
rdfs:label "Headword Explanation"@en ;
rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty dmlex:text ;
- owl:cardinality 1 ] .
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:language ;
+ owl:maxCardinality 1 ] .
dmlex:exampleTranslation a owl:ObjectProperty ;
rdfs:label "Example Translation"@en ;
@@ -58,19 +75,14 @@ dmlex:exampleTranslation a owl:ObjectProperty ;
rdfs:range dmlex:ExampleTranslation .
dmlex:ExampleTranslation a owl:Class ;
+ rdfs:comment "Represents the translation of an example."@en ;
rdfs:label "Example Translation"@en ;
rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty dmlex:text ;
- owl:cardinality 1 ] .
-
-dmlex:sideConstraint a owl:DatatypeProperty ;
- rdfs:label "Side Constraint"@en ;
- rdfs:domain dmlex:Tag .
-
-dmlex:translationLanguageConstraint a owl:DatatypeProperty ;
- rdfs:label "Translation Language Constraint"@en ;
- rdfs:domain dmlex:Tag ;
- rdfs:range xsd:string .
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:language ;
+ owl:maxCardinality 1 ] .
diff --git a/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex.ttl b/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex.ttl
index b941868..47e24df 100644
--- a/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex.ttl
+++ b/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex.ttl
@@ -9,7 +9,17 @@
@prefix rdfs: .
@prefix xsd: .
+################################################################################
+## Core Module
+
+dmlex:listingOrder a owl:DatatypeProperty ;
+ rdfs:label "Listing Order"@en ;
+ rdfs:domain [ a owl:Class ;
+ owl:unionOf ( dmlex:PartOfSpeech dmlex:InflectedForm dmlex:Sense dmlex:Definition dmlex:Label dmlex:Pronunciation dmlex:Transcription dmlex:Example dmlex:TranslationLanguage dmlex:HeadwordTranslation dmlex:ExampleTranslation dmlex:Member dmlex:Etymology dmlex:EtymonUnit ) ] ;
+ rdfs:range xsd:nonNegativeInteger .
+
dmlex:LexicographicResource a owl:Class ;
+ rdfs:comment "Represents a dictionary"@en ;
rdfs:label "Lexicographic resource"@en ;
rdfs:subClassOf [
a owl:Restriction ;
@@ -28,6 +38,9 @@ dmlex:uri a owl:DatatypeProperty ;
dmlex:language a owl:DatatypeProperty ;
rdfs:label "Language"@en ;
+ rdfs:domain [ a owl:Class ;
+ owl:unionOf ( dmlex:LexicographicResource dmlex:HeadwordExplanation dmlex:ExampleTranslation dmlex:EtymonUnit ) ] ;
+ rdfs:range xsd:language ;
rdfs:subPropertyOf lime:language .
dmlex:entry a owl:ObjectProperty ;
@@ -36,17 +49,17 @@ dmlex:entry a owl:ObjectProperty ;
rdfs:range dmlex:Entry ;
rdfs:subPropertyOf lime:entry .
-dmlex:tag a owl:ObjectProperty ;
- rdfs:label "Tag"@en ;
- rdfs:domain dmlex:LexicographicResource ;
- rdfs:range dmlex:Tag .
-
dmlex:Entry a owl:Class ;
+ rdfs:comment "Represents a dictionary entry"@en ;
rdfs:label "Entry"@en ;
rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty dmlex:headword ;
- owl:cardinality 1 ] , ontolex:LexicalEntry .
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:homographNumber ;
+ owl:maxCardinality 1 ] ,
+ ontolex:LexicalEntry .
dmlex:headword a owl:DatatypeProperty ;
rdfs:label "Headword"@en ;
@@ -61,13 +74,13 @@ dmlex:homographNumber a owl:DatatypeProperty ;
dmlex:partOfSpeech a owl:ObjectProperty ;
rdfs:label "Part of Speech"@en ;
rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:Entry dmlex:HeadwordTranslation ) ] ;
+ owl:unionOf ( dmlex:Entry dmlex:HeadwordTranslation dmlex:EtymonUnit ) ] ;
rdfs:range dmlex:PartOfSpeech .
dmlex:label a owl:ObjectProperty ;
rdfs:label "Label"@en ;
rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:Entry dmlex:InflectedForm dmlex:Sense dmlex:Pronunciation dmlex:Example dmlex:HeadwordTranslation dmlex:Etymon) ] ;
+ owl:unionOf ( dmlex:Entry dmlex:InflectedForm dmlex:Sense dmlex:Pronunciation dmlex:Example dmlex:HeadwordTranslation dmlex:ExampleTranslation dmlex:CollocateMarker ) ] ;
rdfs:range dmlex:Label .
dmlex:pronunciation a owl:ObjectProperty ;
@@ -89,27 +102,28 @@ dmlex:sense a owl:ObjectProperty ;
rdfs:subPropertyOf ontolex:evokes .
dmlex:PartOfSpeech a owl:Class ;
+ rdfs:comment "Represents a part of speech label"@en ;
rdfs:label "Part of Speech"@en ;
rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:value ;
+ owl:onProperty dmlex:tag ;
owl:cardinality 1 ] , [
a owl:Restriction ;
owl:onProperty dmlex:listingOrder ;
owl:cardinality 1 ] .
-dmlex:listingOrder a owl:DatatypeProperty ;
- rdfs:label "Listing Order"@en ;
- rdfs:range xsd:nonNegativeInteger .
-
-dmlex:value a owl:DatatypeProperty ;
- rdfs:label "Value"@en .
+dmlex:tag a owl:DatatypeProperty ;
+ rdfs:label "Tag"@en ;
+ rdfs:domain [ a owl:Class ;
+ owl:unionOf ( dmlex:PartOfSpeech dmlex:InflectedForm dmlex:Label dmlex:DefinitionTypeTag dmlex:InflectedFormTag dmlex:LabelTag dmlex:LabelTypeTag dmlex:PartOfSpeechTag dmlex:SourceIdentityTag dmlex:TranscriptionSchemeTag) ] ;
+ rdf:range rdfs:Literal .
dmlex:InflectedForm a owl:Class ;
+ rdfs:comment "Represents one (of possibly many) inflected forms of the headword"@en ;
rdfs:label "Inflected Form"@en ;
rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:inflectedTag ;
+ owl:onProperty dmlex:tag ;
owl:maxCardinality 1 ] , [
a owl:Restriction ;
owl:onProperty dmlex:text ;
@@ -120,19 +134,21 @@ dmlex:InflectedForm a owl:Class ;
dmlex:text a owl:DatatypeProperty ;
rdfs:label "Text"@en ;
- rdfs:range rdfs:Literal .
-
-dmlex:inflectedTag a owl:DatatypeProperty ;
- rdfs:label "Inflected Tag"@en ;
- rdfs:domain dmlex:InflectedForm ;
+ rdfs:domain [ a owl:Class ;
+ owl:unionOf ( dmlex:InflectedForm dmlex:Definition dmlex:Transcription dmlex:Example dmlex:HeadwordTranslation dmlex:HeadwordExplanation dmlex:ExampleTranslation dmlex:EtymonUnit ) ] ;
rdfs:range rdfs:Literal .
dmlex:Sense a owl:Class ;
+ rdfs:comment "Represents one of possibly many meanings (or meaning potentials) of the headword."@en ;
rdfs:label "Sense"@en ;
rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty dmlex:listingOrder ;
- owl:cardinality 1 ] , ontolex:LexicalConcept .
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:indicator ;
+ owl:maxCardinality 1 ] ,
+ ontolex:LexicalConcept .
dmlex:indicator a owl:ObjectProperty ;
rdfs:label "Indicator"@en ;
@@ -150,10 +166,11 @@ dmlex:example a owl:ObjectProperty ;
rdfs:range dmlex:Example .
dmlex:Definition a owl:Class ;
+ rdfs:comment "Represents one of possibly several definitions of a sense."@en ;
rdfs:label "Definition"@en ;
rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:value ;
+ owl:onProperty dmlex:text ;
owl:cardinality 1 ] , [
a owl:Restriction ;
owl:onProperty dmlex:definitionType ;
@@ -168,10 +185,11 @@ dmlex:definitionType a owl:ObjectProperty ;
rdfs:range dmlex:DefinitionType .
dmlex:Label a owl:Class ;
+ rdfs:comment "Represents a restriction on its parent such as temporal (old-fashioned, neologism), regional (dialect), register (formal, colloquial), domain (medicine, politics) or grammar (singular-only)."@en ;
rdfs:label "Label"@en ;
rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:value ;
+ owl:onProperty dmlex:tag ;
owl:cardinality 1 ] , [
a owl:Restriction ;
owl:onProperty dmlex:listingOrder ;
@@ -199,27 +217,35 @@ dmlex:transcription a owl:ObjectProperty ;
rdfs:range dmlex:Transcription .
dmlex:Transcription a owl:Class ;
+ rdfs:comment "Represents the transcription of a pronunciation in some notation such as IPA."@en ;
rdfs:label "Transcription"@en ;
rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty dmlex:text ;
- owl:cardinality 1 ] , [
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:scheme ;
+ owl:maxCardinality 1 ] , [
a owl:Restriction ;
owl:onProperty dmlex:listingOrder ;
owl:cardinality 1 ] .
dmlex:Example a owl:Class ;
+ rdfs:comment "Represents a sentence or other text fragment which illustrates the headword being used."@en ;
rdfs:label "Example"@en ;
rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty dmlex:text ;
- owl:cardinality 1 ] , [
+ owl:cardinality 1 ] , [
a owl:Restriction ;
owl:onProperty dmlex:sourceIdentity ;
- owl:maxCardinality 1 ] , [
+ owl:maxCardinality 1 ] , [
a owl:Restriction ;
owl:onProperty dmlex:sourceElaboration ;
- owl:maxCardinality 1 ] , [
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:soundFile ;
+ owl:maxCardinality 1 ] , [
a owl:Restriction ;
owl:onProperty dmlex:listingOrder ;
owl:cardinality 1 ] .
@@ -234,331 +260,257 @@ dmlex:sourceElaboration a owl:DatatypeProperty ;
rdfs:domain dmlex:Example ;
rdfs:range rdfs:Literal .
-dmlex:Tag a owl:Class ;
- rdfs:label "Tag"@en ;
+################################################################################
+## Crosslingual Modules
+
+dmlex:translationLanguage a owl:ObjectProperty ;
+ rdfs:label "Translation Language"@en ;
+ rdfs:domain dmlex:LexicographicResource ;
+ rdfs:range dmlex:TranslationLanguage .
+
+dmlex:TranslationLanguage a owl:Class ;
+ rdfs:comment "Represents one of the languages in which translations are given in this lexicographic resource"@en ;
+ rdfs:label "TranslationLanguage"@en ;
rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:value ;
+ owl:onProperty dmlex:langCode ;
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:listingOrder ;
owl:cardinality 1 ] .
-dmlex:description a owl:DatatypeProperty ;
- rdfs:label "Description"@en ;
- rdfs:range rdfs:Literal .
-
-dmlex:target a owl:DatatypeProperty ;
- rdfs:label "Target"@en ;
- rdfs:domain dmlex:Tag ;
- rdfs:range xsd:string .
+dmlex:langCode a owl:ObjectProperty ;
+ rdfs:label "Language Code"@en ;
+ rdfs:domain [ a owl:Class ;
+ owl:unionOf ( dmlex:TranslationLanguage dmlex:EtymonLanguage ) ] ;
+ rdfs:range xsd:language .
-dmlex:partOfSpeechConstraint a owl:ObjectProperty ;
- rdfs:label "Part of Speech Constraint"@en ;
- rdfs:domain dmlex:Tag ;
- rdfs:range dmlex:PartOfSpeechConstraint .
+dmlex:headwordExplanation a owl:ObjectProperty ;
+ rdfs:label "Headword Explanation"@en ;
+ rdfs:domain dmlex:Sense ;
+ rdfs:range dmlex:HeadwordExplanation .
-dmlex:sameAs a owl:ObjectProperty ;
- rdfs:label "Same As"@en ;
- rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:Tag dmlex:RelationType dmlex:MemberRole ) ] ;
- rdfs:range dmlex:SameAs .
+dmlex:headwordTranslation a owl:ObjectProperty ;
+ rdfs:label "Headword Translation"@en ;
+ rdfs:domain dmlex:Sense ;
+ rdfs:range dmlex:HeadwordTranslation .
-dmlex:SameAs a owl:Class ;
- rdfs:label "SameAs"@en ;
+dmlex:HeadwordTranslation a owl:Class ;
+ rdfs:comment "Represents one of possibly multiple translations of a headword"@en ;
+ rdfs:label "Headword Translation"@en ;
rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:value ;
+ owl:onProperty dmlex:text ;
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:language ;
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:listingOrder ;
owl:cardinality 1 ] .
-## The ontology for DMLex - Etymology module
-## Author: John P. McCrae
-@prefix dmlex: .
-@prefix lime: .
-@prefix ontolex: .
-@prefix owl: .
-@prefix rdf: .
-@prefix rdfs: .
-@prefix xsd: .
+dmlex:HeadwordExplanation a owl:Class ;
+ rdfs:comment "Represents a statement in the translation language which explains (but does not translate) the meaning of the headword."@en ;
+ rdfs:label "Headword Explanation"@en ;
+ rdfs:subClassOf [
+ a owl:Restriction ;
+ owl:onProperty dmlex:text ;
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:language ;
+ owl:maxCardinality 1 ] .
-dmlex:etymology a owl:ObjectProperty ;
- rdfs:label "Etymology"@en ;
- rdfs:domain dmlex:Entry ;
- rdfs:range dmlex:Etymology .
+dmlex:exampleTranslation a owl:ObjectProperty ;
+ rdfs:label "Example Translation"@en ;
+ rdfs:domain dmlex:Example ;
+ rdfs:range dmlex:ExampleTranslation .
-dmlex:Etymology a owl:Class ;
- rdfs:label "Etymology"@en .
+dmlex:ExampleTranslation a owl:Class ;
+ rdfs:comment "Represents the translation of an example."@en ;
+ rdfs:label "Example Translation"@en ;
+ rdfs:subClassOf [
+ a owl:Restriction ;
+ owl:onProperty dmlex:text ;
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:language ;
+ owl:maxCardinality 1 ] .
-dmlex:etymDescription a owl:DatatypeProperty ;
- rdfs:label "EtymDescription"@en ;
- rdfs:domain dmlex:Etymology ;
- rdfs:range xsd:string .
+################################################################################
+## Controlled Values Module
-dmlex:etymon a owl:ObjectProperty ;
- rdfs:label "Etymon"@en ;
- rdfs:domain dmlex:Etymology ;
- rdfs:range dmlex:Etymon .
+dmlex:definitionTypeTag a owl:ObjectProperty ;
+ rdfs:label "Definition Type Tag"@en ;
+ rdfs:domain dmlex:LexicographicResource ;
+ rdfs:range dmlex:DefinitionTypeTag .
-dmlex:multiEtymon a owl:ObjectProperty ;
- rdfs:label "MultiEtymon"@en ;
- rdfs:domain dmlex:Etymology ;
- rdfs:range dmlex:MultiEtymon .
+dmlex:inflectedFormTag a owl:ObjectProperty ;
+ rdfs:label "Inflected Form Tag"@en ;
+ rdfs:domain dmlex:LexicographicResource ;
+ rdfs:range dmlex:InflectedFormTag .
-dmlex:Etymon a owl:Class ;
- rdfs:label "Etymon"@en ;
+dmlex:labelTag a owl:ObjectProperty ;
+ rdfs:label "Label Tag"@en ;
+ rdf:domain dmlex:LexicographicResource ;
+ rdfs:range dmlex:LabelTag .
+
+dmlex:labelTypeTag a owl:ObjectProperty ;
+ rdfs:label "Label Type Tag"@en ;
+ rdfs:domain dmlex:LexicographicResource ;
+ rdfs:range dmlex:LabelTypeTag .
+
+dmlex:partOfSpeechTag a owl:ObjectProperty ;
+ rdfs:label "Part of Speech Tag"@en ;
+ rdfs:domain dmlex:LexicographicResource ;
+ rdfs:range dmlex:PartOfSpeechTag .
+
+dmlex:sourceIdentityTag a owl:ObjectProperty ;
+ rdfs:label "Source Identity Tag"@en ;
+ rdfs:domain dmlex:LexicographicResource ;
+ rdfs:range dmlex:SourceIdentityTag .
+
+dmlex:transcriptionSchemeTag a owl:ObjectProperty ;
+ rdfs:label "Transcription Scheme Tag"@en ;
+ rdfs:domain dmlex:LexicographicResource ;
+ rdfs:range dmlex:TranscriptionSchemeTag .
+
+dmlex:description a owl:DatatypeProperty ;
+ rdfs:label "Description"@en ;
+ rdfs:domain [ a owl:Class ;
+ owl:unionOf ( dmlex:DefinitionTypeTag dmlex:InflectedFormTag dmlex:LabelTag dmlex:LabelTypeTag dmlex:PartOfSpeechTag dmlex:SourceIdentityTag dmlex:TranscriptionSchemeTag dmlex:Relation dmlex:RelationType dmlex:RelationType dmlex:MemberType dmlex:Etymology dmlex:EtymonType ) ] ;
+ rdfs:range rdfs:Literal .
+
+dmlex:DefinitionTypeTag a owl:Class ;
+ rdfs:comment "Represents one (of many) possible values for definitionType of definition."@en ;
+ rdfs:label "Definition Type Tag"@en ;
rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:text ;
- owl:cardinality 1 ] , [
+ owl:onProperty dmlex:tag ;
+ owl:cardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:type ;
- owl:maxCardinality 1 ] , [
+ owl:onProperty dmlex:description ;
+ owl:cardinality 1 ] .
+
+dmlex:InflectedFormTag a owl:Class ;
+ rdfs:comment "Represents one (of many) possible values for tag of inflectedForm"@en ;
+ rdfs:label "Inflected Form Tag"@en ;
+ rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:language ;
- owl:cardinality 1 ] , [
+ owl:onProperty dmlex:tag ;
+ owl:cardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:note ;
- owl:maxCardinality 1 ] , [
+ owl:onProperty dmlex:description ;
+ owl:cardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:reconstructed ;
+ owl:onProperty dmlex:forHeadwords ;
owl:maxCardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:label ;
- owl:maxCardinality 1 ] , [
- a owl:Restriction ;
- owl:onProperty dmlex:href ;
- owl:maxCardinality 1 ] , [
- a owl:Restriction ;
- owl:onProperty dmlex:listingOrder ;
- owl:cardinality 1 ] , [
- a owl:Restriction ;
- owl:onProperty dmlex:etymDate ;
+ owl:onProperty dmlex:forTranslations ;
owl:maxCardinality 1 ] .
-dmlex:type a owl:DatatypeProperty ;
- rdfs:label "Type"@en ;
- rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:Relation dmlex:Etymon dmlex:MultiEtymon ) ] ;
- rdfs:range xsd:string .
-dmlex:note a owl:DatatypeProperty ;
- rdfs:label "Note"@en ;
+dmlex:forHeadwords a owl:ObjectProperty ;
+ rdfs:label "For Headwords"@en ;
rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:Etymon dmlex:MultiEtymon ) ] ;
- rdfs:range xsd:string .
-
-dmlex:reconstructed a owl:DatatypeProperty ;
- rdfs:label "Reconstructed"@en ;
- rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:Etymon dmlex:MultiEtymon ) ] ;
+ owl:unionOf ( dmlex:InflectedFormTag dmlex:LabelTag dmlex:PartOfSpeechTag dmlex:TranscriptionSchemeTag ) ] ;
rdfs:range xsd:boolean .
-dmlex:href a owl:DatatypeProperty ;
- rdfs:label "HREF"@en ;
+dmlex:forTranslations a owl:ObjectProperty ;
+ rdfs:label "For Translations"@en ;
rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:Etymon dmlex:MultiEtymon ) ] ;
- rdfs:range xsd:anyURI .
+ owl:unionOf ( dmlex:InflectedFormTag dmlex:LabelTag dmlex:PartOfSpeechTag dmlex:TranscriptionSchemeTag ) ] ;
+ rdfs:range xsd:boolean .
-dmlex:etymTranslation a owl:ObjectProperty ;
- rdfs:label "Etymology Translation"@en ;
+dmlex:forLanguage a owl:ObjectProperty ;
+ rdfs:label "For Language"@en ;
rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:Etymon dmlex:MultiEtymon ) ] ;
- rdfs:range dmlex:EtymTranslation .
+ owl:unionOf ( dmlex:InflectedFormTag dmlex:LabelTag dmlex:PartOfSpeechTag dmlex:TranscriptionSchemeTag ) ] ;
+ rdfs:range xsd:language .
-dmlex:etymDate a owl:ObjectProperty ;
- rdfs:label "Etymology Date"@en ;
+dmlex:forPartOfSpeech a owl:ObjectProperty ;
+ rdfs:label "For Part of Speech"@en ;
rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:Etymon dmlex:MultiEtymon ) ] ;
- rdfs:range dmlex:EtymDate .
+ owl:unionOf ( dmlex:InflectedFormTag dmlex:LabelTag dmlex:PartOfSpeechTag ) ] ;
+ rdfs:range rdfs:Literal .
-dmlex:MultiEtymon a owl:Class ;
- rdfs:label "Etymon"@en ;
- rdfs:subClassOf [
- a owl:Restriction ;
- owl:onProperty dmlex:etymon ;
- owl:minCardinality 1 ] , [
+dmlex:LabelTag a owl:Class ;
+ rdfs:comment "Represents one (of many) possible values for tag of label."@en ;
+ rdfs:label "Label Tag"@en ;
+ rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:type ;
- owl:maxCardinality 1 ] , [
+ owl:onProperty dmlex:tag ;
+ owl:cardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:language ;
- owl:cardinality 1 ] , [
+ owl:onProperty dmlex:description ;
+ owl:cardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:note ;
+ owl:onProperty dmlex:typeTag ;
owl:maxCardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:reconstructed ;
+ owl:onProperty dmlex:forHeadwords ;
owl:maxCardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:label ;
- owl:maxCardinality 1 ] , [
- a owl:Restriction ;
- owl:onProperty dmlex:href ;
- owl:maxCardinality 1 ] , [
- a owl:Restriction ;
- owl:onProperty dmlex:listingOrder ;
- owl:cardinality 1 ] , [
- a owl:Restriction ;
- owl:onProperty dmlex:etymDate ;
+ owl:onProperty dmlex:forTranslations ;
owl:maxCardinality 1 ] .
-dmlex:EtymTranslation a owl:Class ;
- rdfs:label "EtymTranslation"@en ;
- rdfs:subClassOf [
- a owl:Restriction ;
- owl:onProperty dmlex:value ;
- owl:cardinality 1 ] .
-
-dmlex:EtymDate a owl:Class ;
- rdfs:label "Etymology Date"@en ;
+dmlex:LabelTypeTag a owl:Class ;
+ rdfs:comment "Represents one (of many) possible values for typeTag of labelTag."@en ;
+ rdfs:label "Label Type Tag"@en ;
rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:start ;
- owl:maxCardinality 1 ] , [
+ owl:onProperty dmlex:tag ;
+ owl:cardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:end ;
- owl:maxCardinality 1 ] .
-
-dmlex:start a owl:DatatypeProperty ;
- rdfs:label "Start"@en ;
- rdfs:domain dmlex:EtymDate .
-
-
-dmlex:end a owl:DatatypeProperty ;
- rdfs:label "End"@en ;
- rdfs:domain dmlex:EtymDate .
-
-dmlex:etymonLanguage a owl:ObjectProperty ;
- rdfs:label "Etymon Language"@en ;
- rdfs:domain dmlex:LexicographicResource ;
- rdfs:range dmlex:EtymonLanguage .
+ owl:onProperty dmlex:description ;
+ owl:cardinality 1 ] .
-dmlex:EtymonLanguage a owl:Class ;
- rdfs:label "Etymon Language"@en ;
+dmlex:PartOfSpeechTag a owl:Class ;
+ rdfs:comment "Represents one (of many) possible values for tag of partOfSpeech."@en ;
+ rdfs:label "Part of Speech Tag"@en ;
rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:value ;
+ owl:onProperty dmlex:tag ;
owl:cardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:iso639-1 ;
- owl:maxCardinality 1 ] , [
+ owl:onProperty dmlex:description ;
+ owl:cardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:iso639-3 ;
+ owl:onProperty dmlex:forHeadwords ;
owl:maxCardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:displayValue ;
+ owl:onProperty dmlex:forTranslations ;
owl:maxCardinality 1 ] .
-dmlex:iso639-1 a owl:DatatypeProperty ;
- rdfs:label "ISO 639-1 code"@en ;
- rdfs:domain dmlex:EtymonLanguage ;
- rdfs:range xsd:string .
-
-dmlex:iso639-3 a owl:DatatypeProperty ;
- rdfs:label "ISO 639-3 code"@en ;
- rdfs:domain dmlex:EtymonLanguage ;
- rdfs:range xsd:string .
-
-dmlex:displayValue a owl:DatatypeProperty ;
- rdfs:label "Display Value"@en ;
- rdfs:domain dmlex:EtymonLanguage ;
- rdfs:range xsd:string .
-
-## The ontology for DMLex - Inline Markup module
-## Author: John P. McCrae
-
-@prefix dmlex: .
-@prefix lime: .
-@prefix ontolex: .
-@prefix owl: .
-@prefix rdf: .
-@prefix rdfs: .
-@prefix xsd: .
-
-dmlex:placeholderMarker a owl:ObjectProperty ;
- rdfs:label "Placeholder Marker"@en ;
- rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:Headword dmlex:HeadwordTranslation ) ] ;
- rdfs:range dmlex:PlaceholderMarker .
-
-dmlex:PlaceholderMarker a owl:Class ;
- rdfs:label "Placeholder Marker"@en ;
+dmlex:SourceIdentityTag a owl:Class ;
+ rdfs:comment "Represents one (of many) possible values for sourceIdentity of example."@en ;
+ rdfs:label "Source Identity Tag"@en ;
rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:startIndex ;
- owl:cardinality 1 ] , [
+ owl:onProperty dmlex:tag ;
+ owl:cardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:endIndex ;
+ owl:onProperty dmlex:description ;
owl:cardinality 1 ] .
-dmlex:startIndex a owl:DatatypeProperty ;
- rdfs:label "Start Index"@en ;
- rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:PlaceholderMarker dmlex:HeadwordMarker ) ] ;
- rdfs:range xsd:string .
-
-dmlex:endIndex a owl:DatatypeProperty ;
- rdfs:label "End Index"@en ;
- rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:PlaceholderMarker dmlex:HeadwordMarker ) ] ;
- rdfs:range xsd:string .
-
-dmlex:headwordMarker a owl:ObjectProperty ;
- rdfs:label "Headword Marker"@en ;
- rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:Definition dmlex:Example dmlex:ExampleTranslation ) ] ;
- rdfs:range dmlex:HeadwordMarker .
-
-dmlex:itemMarker a owl:ObjectProperty ;
- rdfs:label "Item Marker"@en ;
- rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:Definition dmlex:Example dmlex:ExampleTranslation ) ] ;
- rdfs:range dmlex:ItemMarker .
-
-dmlex:HeadwordMarker a owl:Class ;
- rdfs:label "HeadwordMarker"@en ;
- rdfs:subClassOf [
- a owl:Restriction ;
- owl:onProperty dmlex:startIndex ;
- owl:cardinality 1 ] , [
+dmlex:TranscriptionSchemeTag a owl:Class ;
+ rdfs:comment "Represents one (of many) possible values for scheme of transcription."@en ;
+ rdfs:label "Transcription Scheme Tag"@en ;
+ rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:endIndex ;
- owl:cardinality 1 ] .
-
-dmlex:ItemMarker a owl:Class ;
- rdfs:label "ItemMarker"@en ;
- rdfs:subClassOf [
+ owl:onProperty dmlex:tag ;
+ owl:cardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:startIndex ;
- owl:cardinality 1 ] , [
+ owl:onProperty dmlex:description ;
+ owl:cardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:endIndex ;
- owl:cardinality 1 ] .
-
-dmlex:lemma a owl:DatatypeProperty ;
- rdfs:label "Lemma"@en ;
- rdfs:domain dmlex:ItemMarker ;
- rdfs:range xsd:string .
-
-dmlex:itemRole a owl:ObjectProperty ;
- rdfs:label "ItemRole"@en ;
- rdfs:domain dmlex:ItemMark ;
- rdfs:range dmlex:ItemRole .
-
-dmlex:ItemRole a owl:Class ;
- rdfs:label "ItemRole"@en ;
- rdfs:subClassOf [
+ owl:onProperty dmlex:forHeadwords ;
+ owl:maxCardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:value ;
- owl:cardinality 1 ] .
+ owl:onProperty dmlex:forTranslations ;
+ owl:maxCardinality 1 ] .
-## The ontology for DMLex - Linking Module
-## Author: John P. McCrae
-
-@prefix dmlex: .
-@prefix lime: .
-@prefix ontolex: .
-@prefix owl: .
-@prefix rdf: .
-@prefix rdfs: .
-@prefix xsd: .
+################################################################################
+## Linking Module
dmlex:relation a owl:ObjectProperty ;
rdfs:label "Relation"@en ;
@@ -571,19 +523,23 @@ dmlex:relationType a owl:ObjectProperty ;
rdfs:range dmlex:RelationType .
dmlex:Relation a owl:Class ;
+ rdfs:comment "Represents the fact that a relation exists between two or more objects."@en ;
rdfs:label "Relation"@en ;
rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty dmlex:type ;
owl:cardinality 1 ] , [
a owl:Restriction ;
+ owl:onProperty dmlex:description ;
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
owl:onProperty dmlex:member ;
owl:minCardinality 2 ] .
dmlex:type a owl:DatatypeProperty ;
rdfs:label "Type"@en ;
rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:Relation dmlex:Etymon dmlex:MultiEtymon ) ] ;
+ owl:unionOf ( dmlex:Relation dmlex:RelationType dmlex:Etymon dmlex:EtymonType ) ] ;
rdfs:range xsd:string .
dmlex:member a owl:ObjectProperty ;
@@ -592,66 +548,82 @@ dmlex:member a owl:ObjectProperty ;
rdfs:range dmlex:Member .
dmlex:Member a owl:Class ;
+ rdfs:comment "Represents the fact that an object, such as an entry or a sense, is a member of a relation."@en ;
rdfs:label "Member"@en ;
rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:idref ;
+ owl:onProperty dmlex:memberID ;
owl:cardinality 1 ] , [
a owl:Restriction ;
+ owl:onProperty dmlex:role ;
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
owl:onProperty dmlex:listingOrder ;
owl:cardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:reverseListingOrder ;
+ owl:onProperty dmlex:obverseListingOrder ;
owl:cardinality 1 ] .
-dmlex:idref a owl:DatatypeProperty ;
- rdfs:label "ID ref"@en ;
- rdfs:domain dmlex:Member ;
+dmlex:memberID a owl:DatatypeProperty ;
+ rdfs:label "Member ID"@en ;
+ rdfs:domain [ a owl:Class ;
+ owl:unionOf ( dmlex:Member ) ] ;
rdfs:range xsd:string .
dmlex:role a owl:DatatypeProperty ;
rdfs:label "Role"@en ;
- rdfs:domain dmlex:Member ;
+ rdfs:domain [ a owl:Class ;
+ owl:unionOf ( dmlex:Member dmlex:MemberType ) ] ;
rdfs:range xsd:string .
-dmlex:reverseListingOrder a owl:DatatypeProperty ;
- rdfs:label "Reverse Listing Order"@en ;
- rdfs:range xsd:nonNegativeInteger .
+dmlex:obverseListingOrder a owl:DatatypeProperty ;
+ rdfs:label "Obverse Listing Order"@en ;
+ rdfs:domain dmlex:Member ;
+ rdfs:range xsd:integer .
dmlex:RelationType a owl:Class ;
+ rdfs:comment "Represents one of possible values for the type of relation."@en ;
rdfs:label "Relation Type"@en ;
rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:value ;
- owl:cardinality 1 ] .
+ owl:onProperty dmlex:type ;
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:description ;
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:scope ;
+ owl:maxCardinality 1 ] .
dmlex:scope a owl:DatatypeProperty ;
rdfs:label "Scope"@en ;
rdfs:domain dmlex:RelationType ;
rdfs:range xsd:string .
-dmlex:memberRole a owl:ObjectProperty ;
- rdfs:label "Member Role"@en ;
+dmlex:memberType a owl:ObjectProperty ;
+ rdfs:label "Member Type"@en ;
rdfs:domain dmlex:RelationType ;
- rdfs:range dmlex:MemberRole .
+ rdfs:range dmlex:MemberType .
-dmlex:MemberRole a owl:Class ;
- rdfs:label "Member Role"@en ;
+dmlex:MemberType a owl:Class ;
+ rdfs:comment "Represents one of possible values for the role of member, as well as various restrictions on members having this role."@en ;
+ rdfs:label "Member Type"@en ;
rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:value ;
+ owl:onProperty dmlex:role ;
owl:cardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:memberType ;
- owl:cardinality 1 ] , [
+ owl:onProperty dmlex:description ;
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:min ;
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:max ;
+ owl:maxCardinality 1 ] , [
a owl:Restriction ;
owl:onProperty dmlex:action ;
- owl:cardinality 1 ] .
-
-dmlex:memberType a owl:DatatypeProperty ;
- rdfs:label "MemberType"@en ;
- rdfs:domain dmlex:MemberRole ;
- rdfs:range xsd:string .
+ owl:maxCardinality 1 ] .
dmlex:min a owl:DatatypeProperty ;
rdfs:label "Min"@en ;
@@ -668,79 +640,202 @@ dmlex:action a owl:DatatypeProperty ;
rdfs:domain dmlex:MemberType ;
rdfs:range xsd:string .
-## The ontology for DMLex - Crosslingual module
-## Author: John P. McCrae
+################################################################################
+## Annotation Module
-@prefix dmlex: .
-@prefix lime: .
-@prefix ontolex: .
-@prefix owl: .
-@prefix rdf: .
-@prefix rdfs: .
-@prefix xsd: .
-
-dmlex:translationLanguage a owl:ObjectProperty ;
- rdfs:label "Translation Language"@en ;
- rdfs:domain dmlex:LexicographicResource ;
- rdfs:range dmlex:TranslationLanguage .
+dmlex:placeholderMarker a owl:ObjectProperty ;
+ rdfs:label "Placeholder Marker"@en ;
+ rdfs:domain [ a owl:Class ;
+ owl:unionOf ( dmlex:Entry dmlex:HeadwordTranslation ) ] ;
+ rdfs:range dmlex:PlaceholderMarker .
-dmlex:TranslationLanguage a owl:Class ;
- rdfs:label "TranslationLanguage"@en ;
+dmlex:PlaceholderMarker a owl:Class ;
+ rdfs:comment "Marks up a substring inside a headword or inside a headword translation which is not part of the expression itself but stands for things that can take its place."@en ;
+ rdfs:label "Placeholder Marker"@en ;
rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:value ;
- owl:cardinality 1 ] , [
+ owl:onProperty dmlex:startIndex ;
+ owl:cardinality 1 ] , [
a owl:Restriction ;
- owl:onProperty dmlex:listingOrder ;
+ owl:onProperty dmlex:endIndex ;
owl:cardinality 1 ] .
-dmlex:headwordExplanation a owl:ObjectProperty ;
- rdfs:label "Headword Explanation"@en ;
- rdfs:domain dmlex:Sense ;
- rdfs:range dmlex:HeadwordExplanation .
+dmlex:startIndex a owl:DatatypeProperty ;
+ rdfs:label "Start Index"@en ;
+ rdfs:domain [ a owl:Class ;
+ owl:unionOf ( dmlex:PlaceholderMarker dmlex:HeadwordMarker ) ] ;
+ rdfs:range xsd:string .
-dmlex:headwordTranslation a owl:ObjectProperty ;
- rdfs:label "Headword Translation"@en ;
+dmlex:endIndex a owl:DatatypeProperty ;
+ rdfs:label "End Index"@en ;
rdfs:domain [ a owl:Class ;
- owl:unionOf ( dmlex:Sense dmlex:PartOfSpeech dmlex:Label dmlex:Pronunciation dmlex:InflectedForm) ] ;
- rdfs:range dmlex:HeadwordTranslation .
+ owl:unionOf ( dmlex:PlaceholderMarker dmlex:HeadwordMarker ) ] ;
+ rdfs:range xsd:string .
-dmlex:HeadwordTranslation a owl:Class ;
- rdfs:label "Headword Translation"@en ;
- rdfs:subClassOf [
+dmlex:headwordMarker a owl:ObjectProperty ;
+ rdfs:label "Headword Marker"@en ;
+ rdfs:domain [ a owl:Class ;
+ owl:unionOf ( dmlex:Definition dmlex:Example dmlex:ExampleTranslation ) ] ;
+ rdfs:range dmlex:HeadwordMarker .
+
+dmlex:collocateMarker a owl:ObjectProperty ;
+ rdfs:label "Collocate Marker"@en ;
+ rdfs:domain [ a owl:Class ;
+ owl:unionOf ( dmlex:Definition dmlex:Example dmlex:ExampleTranslation ) ] ;
+ rdfs:range dmlex:CollocateMarker .
+
+dmlex:HeadwordMarker a owl:Class ;
+ rdfs:comment "Marks up a substring inside an example, inside an example translation or inside a definition which corresponds to the headword (or to a translation of the headword)"@en ;
+ rdfs:label "HeadwordMarker"@en ;
+ rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:text ;
+ owl:onProperty dmlex:startIndex ;
owl:cardinality 1 ] , [
a owl:Restriction ;
+ owl:onProperty dmlex:endIndex ;
+ owl:cardinality 1 ] .
+
+dmlex:CollocateMarker a owl:Class ;
+ rdfs:label "Collocate Marker"@en ;
+ rdfs:subClassOf [
+ a owl:Restriction ;
+ owl:onProperty dmlex:startIndex ;
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:endIndex ;
+ owl:cardinality 1 ] .
+
+dmlex:lemma a owl:DatatypeProperty ;
+ rdfs:label "Lemma"@en ;
+ rdfs:domain dmlex:ItemMarker ;
+ rdfs:range xsd:string .
+
+################################################################################
+## Etymology Module
+
+dmlex:etymology a owl:ObjectProperty ;
+ rdfs:label "Etymology"@en ;
+ rdfs:domain dmlex:Entry ;
+ rdfs:range dmlex:Etymology .
+
+dmlex:Etymology a owl:Class ;
+ rdfs:comment "Represents a chain of historical derivations of a word."@en ;
+ rdfs:label "Etymology"@en ;
+ rdfs:subClassOf [
+ a owl:Restriction ;
+ owl:onProperty dmlex:description ;
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
owl:onProperty dmlex:listingOrder ;
owl:cardinality 1 ] .
-dmlex:HeadwordExplanation a owl:Class ;
- rdfs:label "Headword Explanation"@en ;
- rdfs:subClassOf [
+dmlex:etymon a owl:ObjectProperty ;
+ rdfs:label "Etymon"@en ;
+ rdfs:domain dmlex:Etymology ;
+ rdfs:range dmlex:Etymon .
+
+dmlex:Etymon a owl:Class ;
+ rdfs:comment "Represents one stage (of possibly several) in the etymological history of the headword."@en ;
+ rdfs:label "Etymon"@en ;
+ rdfs:subClassOf [
a owl:Restriction ;
- owl:onProperty dmlex:text ;
+ owl:onProperty dmlex:when ;
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:type ;
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:note ;
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:etymonUnit ;
+ owl:minCardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:translation ;
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:listingOrder ;
owl:cardinality 1 ] .
-dmlex:exampleTranslation a owl:ObjectProperty ;
- rdfs:label "Example Translation"@en ;
- rdfs:domain dmlex:Example ;
- rdfs:range dmlex:ExampleTranslation .
+dmlex:when a owl:DatatypeProperty ;
+ rdfs:label "When"@en ;
+ rdfs:domain dmlex:Etymon ;
+ rdfs:range xsd:string .
-dmlex:ExampleTranslation a owl:Class ;
- rdfs:label "Example Translation"@en ;
- rdfs:subClassOf [
+dmlex:note a owl:DatatypeProperty ;
+ rdfs:label "Note"@en ;
+ rdfs:domain dmlex:Etymon ;
+ rdfs:range xsd:string .
+
+dmlex:etymonUnit a owl:ObjectProperty ;
+ rdfs:label "Etymon Unit"@en ;
+ rdfs:domain dmlex:Etymon ;
+ rdfs:range dmlex:EtymonUnit .
+
+dmlex:translation a owl:DataProperty ;
+ rdfs:label "Translation"@en ;
+ rdfs:domain [ a owl:Class ;
+ owl:unionOf ( dmlex:Etymon dmlex:EtymonUnit ) ] ;
+ rdfs:range xsd:string .
+
+dmlex:EtymonUnit a owl:Class ;
+ rdfs:comment "Represents a form (typically a word) which is the etymological origin of the headword, or another etymologically related form"@en ;
+ rdfs:label "Etymon Unit"@en ;
+ rdfs:subClassOf [
+ a owl:Restriction ;
+ owl:onProperty dmlex:language ;
+ owl:cardinality 1 ] , [
a owl:Restriction ;
owl:onProperty dmlex:text ;
- owl:cardinality 1 ] .
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:reconstructed ;
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:translation ;
+ owl:maxCardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:listingOrder ;
+ owl:cardinality 1 ] .
-dmlex:sideConstraint a owl:DatatypeProperty ;
- rdfs:label "Side Constraint"@en ;
- rdfs:domain dmlex:Tag .
+dmlex:reconstructed a owl:DatatypeProperty ;
+ rdfs:label "Reconstructed"@en ;
+ rdfs:domain dmlex:EtymonUnit ;
+ rdfs:range xsd:boolean .
-dmlex:translationLanguageConstraint a owl:DatatypeProperty ;
- rdfs:label "Translation Language Constraint"@en ;
- rdfs:domain dmlex:Tag ;
- rdfs:range xsd:string .
+dmlex:etymonType a owl:ObjectProperty ;
+ rdfs:label "Etymon Type"@en ;
+ rdfs:domain dmlex:LexicographicResource ;
+ rdfs:range dmlex:EtymonType .
+
+dmlex:EtymonType a owl:Class ;
+ rdfs:comment "Represents one of possible values for the type of etymon."@en ;
+ rdfs:label "Etymon Type"@en ;
+ rdfs:subClassOf [
+ a owl:Restriction ;
+ owl:onProperty dmlex:type ;
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:description ;
+ owl:maxCardinality 1 ] .
+dmlex:etymonLanguage a owl:ObjectProperty ;
+ rdfs:label "Etymon Language"@en ;
+ rdfs:domain dmlex:LexicographicResource ;
+ rdfs:range dmlex:EtymonLanguage .
+dmlex:EtymonLanguage a owl:Class ;
+ rdfs:comment "Represents one of several allowed values for the language property of etymonUnit objects."@en ;
+ rdfs:label "Etymon Language"@en ;
+ rdfs:subClassOf [
+ a owl:Restriction ;
+ owl:onProperty dmlex:langCode ;
+ owl:cardinality 1 ] , [
+ a owl:Restriction ;
+ owl:onProperty dmlex:displayName ;
+ owl:maxCardinality 1 ] .
+
+dmlex:displayName a owl:ObjectProperty ;
+ rdfs:label "Display Name"@en ;
+ rdfs:domain dmlex:EtymonLanguage ;
+ rdfs:range xsd:string .
diff --git a/dmlex-v1.0/specification/serializations/RDF/specification.xml b/dmlex-v1.0/specification/serializations/RDF/specification.xml
index 7946140..247763e 100644
--- a/dmlex-v1.0/specification/serializations/RDF/specification.xml
+++ b/dmlex-v1.0/specification/serializations/RDF/specification.xml
@@ -14,10 +14,13 @@
The RDF serialization used in this document follows the following principles
- The lexicographicResource
object is an individual of type dmlex:LexicographicResource
+ The RDF serialization uses an vocabulary defined at the namespace https://www.oasis-open.org/to-be-confirmed/dmlex
, al elements of the vocabulary are in this namespace
- All other objects are implemented as individuals
+ The vocabulary file provides RDF Schema and OWL axioms which implement the restrictions described by the data model. It also provides a linking to the OntoLex-Lemon model. The ontology provides rules to infer an OntoLex-lemon model from DMLex data. This is achieved by means of subclass and subproperty axioms and so conversion can be performed by an OWL reasoner.
+
+
+ All elements of the modules are modelled as individuals with an appropriate class definitions
Each other object type is associated with a property (with a lowercase initial letter) and a class (with an uppercase initial letter. In all case the range of this property is the class
@@ -28,6 +31,12 @@
Listing order can be specified with the property dmlex:listingOrder
with values starting from 1 and ascending
+
+ There is not a specific id
property, instead the URI of the entity acts as the ID
+
+
+ There is no property for sameAs
in the controlled values module. Instead you can use OWL's sameAs
property
+
The implementation is not aware of which modules are in use, to enable publishing on the web. As such cardinality constraints that are only required in a module are not implemented.
@@ -36,8 +45,53 @@
- Interoperability with OntoLex-lemon
- The ontology provides rules to infer an OntoLex-lemon model from DMLex data. This is achieved by means of subclass and subproperty axioms and so conversion can be performed by an OWL reasoner.
+ DMLex RDF serialization elements
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+