From 4cf319af3bf6b2a7a2557cd216b4a84cadeb2d75 Mon Sep 17 00:00:00 2001 From: "John P. McCrae" Date: Fri, 18 Aug 2023 14:30:18 +0100 Subject: [PATCH 1/3] RDF specification, script and a few elements --- dmlex-v1.0/specification/dmlex.xml | 8 ++ .../RDF/gen_docbook_from_rdf.py | 100 ++++++++++++++++++ .../RDF/ontology/dmlex-core.ttl | 62 +++++------ .../serializations/RDF/specification.xml | 15 ++- 4 files changed, 147 insertions(+), 38 deletions(-) create mode 100644 dmlex-v1.0/specification/serializations/RDF/gen_docbook_from_rdf.py diff --git a/dmlex-v1.0/specification/dmlex.xml b/dmlex-v1.0/specification/dmlex.xml index 558116f..16608da 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/gen_docbook_from_rdf.py b/dmlex-v1.0/specification/serializations/RDF/gen_docbook_from_rdf.py new file mode 100644 index 0000000..af7170d --- /dev/null +++ b/dmlex-v1.0/specification/serializations/RDF/gen_docbook_from_rdf.py @@ -0,0 +1,100 @@ +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(""" + """) + + +for file in glob("ontology/dmlex-*.ttl"): + g = rdflib.Graph() + g.parse(file, 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})" + + with open(f"elements/{name}.xml", "w") as f: + f.write(f""" + + %xinclude; + + ]> +
+ RDF element: <literal>dmlex:{name}</literal> + + {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(""" + + + +
""") + 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..38d176b 100644 --- a/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-core.ttl +++ b/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-core.ttl @@ -10,6 +10,7 @@ @prefix xsd: . dmlex:LexicographicResource a owl:Class ; + rdfs:comment "Represents a dictionary"@en ; rdfs:label "Lexicographic resource"@en ; rdfs:subClassOf [ a owl:Restriction ; @@ -28,6 +29,8 @@ dmlex:uri a owl:DatatypeProperty ; dmlex:language a owl:DatatypeProperty ; rdfs:label "Language"@en ; + rdfs:domain dmlex:LexicographicResource ; + rdfs:range xsd:language ; rdfs:subPropertyOf lime:language . dmlex:entry a owl:ObjectProperty ; @@ -36,17 +39,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 ; @@ -89,27 +92,34 @@ 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:tag a owl:DatatypeProperty ; + rdfs:label "Tag"@en ; + rdfs:domain [ a owlClass ; + owl:unionOf ( dmlex:PartOfSpeech dmlex:InflectedForm ) ] ; + rdf:range rdfs:Literal . + dmlex:listingOrder a owl:DatatypeProperty ; rdfs:label "Listing Order"@en ; + rdfs:domain [ a owl:Class ; + owl:unionOf ( dmlex:PartOfSpeech dmlex:InflectedForm dmlex:Sense ) ] ; rdfs:range xsd:nonNegativeInteger . -dmlex:value a owl:DatatypeProperty ; - rdfs:label "Value"@en . - 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 +130,20 @@ 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: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 ; @@ -234,31 +245,14 @@ dmlex:sourceElaboration a owl:DatatypeProperty ; rdfs:domain dmlex:Example ; rdfs:range rdfs:Literal . -dmlex:Tag a owl:Class ; - rdfs:label "Tag"@en ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:onProperty dmlex:value ; - 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:partOfSpeechConstraint a owl:ObjectProperty ; - rdfs:label "Part of Speech Constraint"@en ; - rdfs:domain dmlex:Tag ; - rdfs:range dmlex:PartOfSpeechConstraint . - dmlex:sameAs a owl:ObjectProperty ; rdfs:label "Same As"@en ; rdfs:domain [ a owl:Class ; - owl:unionOf ( dmlex:Tag dmlex:RelationType dmlex:MemberRole ) ] ; + owl:unionOf ( dmlex:RelationType dmlex:MemberRole ) ] ; rdfs:range dmlex:SameAs . dmlex:SameAs a owl:Class ; diff --git a/dmlex-v1.0/specification/serializations/RDF/specification.xml b/dmlex-v1.0/specification/serializations/RDF/specification.xml index 7946140..c491816 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 @@ -36,8 +39,12 @@
- 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 + + +
+ + From 7d62ea7c89371d50b6cdea63d38c42f4f7feeecd Mon Sep 17 00:00:00 2001 From: "John P. McCrae" Date: Fri, 18 Aug 2023 17:31:32 +0100 Subject: [PATCH 2/3] More work on updating ontology and RDF spec --- .../RDF/gen_docbook_from_rdf.py | 8 +- .../serializations/RDF/ontology/dmlex.ttl | 664 ++++++++---------- .../serializations/RDF/specification.xml | 6 + 3 files changed, 293 insertions(+), 385 deletions(-) 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 index af7170d..eb85f99 100644 --- a/dmlex-v1.0/specification/serializations/RDF/gen_docbook_from_rdf.py +++ b/dmlex-v1.0/specification/serializations/RDF/gen_docbook_from_rdf.py @@ -25,9 +25,9 @@ def describe_property(g, property, file, restrictions):
""") -for file in glob("ontology/dmlex-*.ttl"): +def parse_rdf(): g = rdflib.Graph() - g.parse(file, format="turtle") + g.parse("ontology/dmlex.ttl", format="turtle") props = defaultdict(list) # First scan for domains @@ -60,6 +60,8 @@ def describe_property(g, property, file, restrictions): 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""" @@ -98,3 +100,5 @@ def describe_property(g, property, file, restrictions): """) +if __name__ == "__main__": + parse_rdf() diff --git a/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex.ttl b/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex.ttl index b941868..830a602 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 ) ] ; + 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 ) ] ; + 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 ; @@ -67,7 +80,7 @@ dmlex:partOfSpeech a owl:ObjectProperty ; 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 ) ] ; 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 owlClass ; + 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 ) ] ; 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,256 @@ 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:langCode a owl:ObjectProperty ; + rdfs:label "Language Code"@en ; + rdfs:domain dmlex:TranslationLanguage ; + rdfs:range xsd:language . -dmlex:target a owl:DatatypeProperty ; - rdfs:label "Target"@en ; - rdfs:domain dmlex:Tag ; - rdfs:range xsd:string . - -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: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:multiEtymon a owl:ObjectProperty ; - rdfs:label "MultiEtymon"@en ; - rdfs:domain dmlex:Etymology ; - rdfs:range dmlex:MultiEtymon . +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 ) ] ; + rdfs:range rdfs:Literal . -dmlex:Etymon a owl:Class ; - rdfs:label "Etymon"@en ; +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 ; +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:value ; - owl:cardinality 1 ] . - -dmlex:EtymDate a owl:Class ; - rdfs:label "Etymology Date"@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 ] . - -## The ontology for DMLex - Linking Module -## Author: John P. McCrae + owl:onProperty dmlex:forTranslations ; + owl:maxCardinality 1 ] . -@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 +522,24 @@ 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 ) ] ; +# owl:unionOf ( dmlex:Relation dmlex:Etymon dmlex:MultiEtymon ) ] ; 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,5 @@ dmlex:action a owl:DatatypeProperty ; rdfs:domain dmlex:MemberType ; rdfs:range xsd:string . -## The ontology for DMLex - Crosslingual module -## Author: John P. McCrae - -@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:TranslationLanguage a owl:Class ; - rdfs:label "TranslationLanguage"@en ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:onProperty dmlex:value ; - owl:cardinality 1 ] , [ - a owl:Restriction ; - owl:onProperty dmlex:listingOrder ; - owl:cardinality 1 ] . - -dmlex:headwordExplanation a owl:ObjectProperty ; - rdfs:label "Headword Explanation"@en ; - rdfs:domain dmlex:Sense ; - rdfs:range dmlex:HeadwordExplanation . - -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:range dmlex:HeadwordTranslation . - -dmlex:HeadwordTranslation a owl:Class ; - rdfs:label "Headword Translation"@en ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:onProperty dmlex:text ; - owl:cardinality 1 ] , [ - a owl:Restriction ; - owl:onProperty dmlex:listingOrder ; - owl:cardinality 1 ] . - -dmlex:HeadwordExplanation a owl:Class ; - rdfs:label "Headword Explanation"@en ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:onProperty dmlex:text ; - owl:cardinality 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: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 . diff --git a/dmlex-v1.0/specification/serializations/RDF/specification.xml b/dmlex-v1.0/specification/serializations/RDF/specification.xml index c491816..a1f8a33 100644 --- a/dmlex-v1.0/specification/serializations/RDF/specification.xml +++ b/dmlex-v1.0/specification/serializations/RDF/specification.xml @@ -31,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. From 0e6fb7167a1ea2a9d40da1b1409b6d1a5eeb56f9 Mon Sep 17 00:00:00 2001 From: "John P. McCrae" Date: Mon, 21 Aug 2023 09:04:58 +0100 Subject: [PATCH 3/3] Add RDF serialization description --- .../RDF/elements/CollocateMarker.xml | 22 ++ .../RDF/elements/Definition.xml | 34 +++ .../RDF/elements/DefinitionTypeTag.xml | 25 ++ .../serializations/RDF/elements/Entry.xml | 52 +++++ .../serializations/RDF/elements/Etymology.xml | 28 +++ .../serializations/RDF/elements/Etymon.xml | 34 +++ .../RDF/elements/EtymonLanguage.xml | 25 ++ .../RDF/elements/EtymonType.xml | 25 ++ .../RDF/elements/EtymonUnit.xml | 37 +++ .../serializations/RDF/elements/Example.xml | 46 ++++ .../RDF/elements/ExampleTranslation.xml | 40 ++++ .../RDF/elements/HeadwordExplanation.xml | 25 ++ .../RDF/elements/HeadwordMarker.xml | 25 ++ .../RDF/elements/HeadwordTranslation.xml | 40 ++++ .../RDF/elements/InflectedForm.xml | 40 ++++ .../RDF/elements/InflectedFormTag.xml | 37 +++ .../serializations/RDF/elements/Label.xml | 25 ++ .../serializations/RDF/elements/LabelTag.xml | 37 +++ .../RDF/elements/LabelTypeTag.xml | 25 ++ .../RDF/elements/LexicographicResource.xml | 70 ++++++ .../serializations/RDF/elements/Member.xml | 31 +++ .../RDF/elements/MemberType.xml | 34 +++ .../RDF/elements/PartOfSpeech.xml | 25 ++ .../RDF/elements/PartOfSpeechTag.xml | 37 +++ .../RDF/elements/PlaceholderMarker.xml | 25 ++ .../RDF/elements/Pronunciation.xml | 31 +++ .../serializations/RDF/elements/Relation.xml | 28 +++ .../RDF/elements/RelationType.xml | 34 +++ .../serializations/RDF/elements/Sense.xml | 46 ++++ .../RDF/elements/SourceIdentityTag.xml | 25 ++ .../RDF/elements/Transcription.xml | 25 ++ .../RDF/elements/TranscriptionSchemeTag.xml | 34 +++ .../RDF/elements/TranslationLanguage.xml | 25 ++ ...{dmlex-inline.ttl => dmlex-annotation.ttl} | 30 +-- .../RDF/ontology/dmlex-controlled-values.ttl | 185 +++++++++++++++ .../RDF/ontology/dmlex-core.ttl | 132 ++++++++--- .../RDF/ontology/dmlex-etymology.ttl | 190 ++++++--------- .../RDF/ontology/dmlex-linking.ttl | 78 ++++--- .../RDF/ontology/dmlex-xlingual.ttl | 44 ++-- .../serializations/RDF/ontology/dmlex.ttl | 217 +++++++++++++++++- .../serializations/RDF/specification.xml | 43 +++- 41 files changed, 1789 insertions(+), 222 deletions(-) create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/CollocateMarker.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/Definition.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/DefinitionTypeTag.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/Entry.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/Etymology.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/Etymon.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/EtymonLanguage.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/EtymonType.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/EtymonUnit.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/Example.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/ExampleTranslation.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/HeadwordExplanation.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/HeadwordMarker.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/HeadwordTranslation.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/InflectedForm.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/InflectedFormTag.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/Label.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/LabelTag.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/LabelTypeTag.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/LexicographicResource.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/Member.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/MemberType.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/PartOfSpeech.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/PartOfSpeechTag.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/PlaceholderMarker.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/Pronunciation.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/Relation.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/RelationType.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/Sense.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/SourceIdentityTag.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/Transcription.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/TranscriptionSchemeTag.xml create mode 100644 dmlex-v1.0/specification/serializations/RDF/elements/TranslationLanguage.xml rename dmlex-v1.0/specification/serializations/RDF/ontology/{dmlex-inline.ttl => dmlex-annotation.ttl} (74%) create mode 100644 dmlex-v1.0/specification/serializations/RDF/ontology/dmlex-controlled-values.ttl 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: <literal>dmlex:CollocateMarker</literal> + + 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: <literal>dmlex:Definition</literal> + + 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: <literal>dmlex:DefinitionTypeTag</literal> + + 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: <literal>dmlex:Entry</literal> + + 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: <literal>dmlex:Etymology</literal> + + 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: <literal>dmlex:Etymon</literal> + + 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: <literal>dmlex:EtymonLanguage</literal> + + 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: <literal>dmlex:EtymonType</literal> + + 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: <literal>dmlex:EtymonUnit</literal> + + 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: <literal>dmlex:Example</literal> + + 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: <literal>dmlex:ExampleTranslation</literal> + + 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: <literal>dmlex:HeadwordExplanation</literal> + + 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: <literal>dmlex:HeadwordMarker</literal> + + 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: <literal>dmlex:HeadwordTranslation</literal> + + 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; + + ]> +
+ RDF element: <literal>dmlex:InflectedForm</literal> + + Represents one (of possibly many) inflected forms of the headword + + + Superclasses + + http://www.w3.org/ns/lemon/ontolex#Form + + + + + Properties + + dmlex:listingOrder REQUIRED (exactly 1) of type http://www.w3.org/2001/XMLSchema#nonNegativeInteger + + + dmlex:label reference to Label + + + dmlex:pronunciation reference to Pronunciation + + + dmlex:tag OPTIONAL (at most 1) + + + 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/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; + + ]> +
+ RDF element: <literal>dmlex:InflectedFormTag</literal> + + Represents one (of many) possible values for tag of inflectedForm + + + + 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/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: <literal>dmlex:Label</literal> + + 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: <literal>dmlex:LabelTag</literal> + + 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: <literal>dmlex:LabelTypeTag</literal> + + 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: <literal>dmlex:LexicographicResource</literal> + + 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: <literal>dmlex:Member</literal> + + 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: <literal>dmlex:MemberType</literal> + + 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: <literal>dmlex:PartOfSpeech</literal> + + 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: <literal>dmlex:PartOfSpeechTag</literal> + + 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: <literal>dmlex:PlaceholderMarker</literal> + + 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: <literal>dmlex:Pronunciation</literal> + + 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: <literal>dmlex:Relation</literal> + + 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: <literal>dmlex:RelationType</literal> + + 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: <literal>dmlex:Sense</literal> + + 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: <literal>dmlex:SourceIdentityTag</literal> + + 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: <literal>dmlex:Transcription</literal> + + 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; + + ]> +
+ RDF element: <literal>dmlex:TranscriptionSchemeTag</literal> + + Represents one (of many) possible values for scheme of transcription. + + + + 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 + + + + +
\ 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: <literal>dmlex:TranslationLanguage</literal> + + 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/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 38d176b..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,6 +9,15 @@ @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 ; @@ -29,7 +38,8 @@ dmlex:uri a owl:DatatypeProperty ; dmlex:language a owl:DatatypeProperty ; rdfs:label "Language"@en ; - rdfs:domain dmlex:LexicographicResource ; + rdfs:domain [ a owl:Class ; + owl:unionOf ( dmlex:LexicographicResource dmlex:HeadwordExplanation dmlex:ExampleTranslation dmlex:EtymonUnit ) ] ; rdfs:range xsd:language ; rdfs:subPropertyOf lime:language . @@ -64,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 ; @@ -104,15 +114,9 @@ dmlex:PartOfSpeech a owl:Class ; dmlex:tag a owl:DatatypeProperty ; rdfs:label "Tag"@en ; - rdfs:domain [ a owlClass ; - owl:unionOf ( dmlex:PartOfSpeech dmlex:InflectedForm ) ] ; - rdf:range rdfs:Literal . - -dmlex:listingOrder a owl:DatatypeProperty ; - rdfs:label "Listing Order"@en ; rdfs:domain [ a owl:Class ; - owl:unionOf ( dmlex:PartOfSpeech dmlex:InflectedForm dmlex:Sense ) ] ; - rdfs:range xsd:nonNegativeInteger . + 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 ; @@ -130,7 +134,8 @@ dmlex:InflectedForm a owl:Class ; dmlex:text a owl:DatatypeProperty ; rdfs:label "Text"@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 ; @@ -161,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 ; @@ -179,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 ; @@ -210,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 ] . @@ -245,19 +260,80 @@ dmlex:sourceElaboration a owl:DatatypeProperty ; rdfs:domain dmlex:Example ; rdfs:range rdfs:Literal . -dmlex:description a owl:DatatypeProperty ; - rdfs:label "Description"@en ; - rdfs:range rdfs:Literal . +################################################################################ +## 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:langCode ; + owl:cardinality 1 ] , [ + a owl:Restriction ; + owl:onProperty dmlex:listingOrder ; + owl:cardinality 1 ] . -dmlex:sameAs a owl:ObjectProperty ; - rdfs:label "Same As"@en ; +dmlex:langCode a owl:ObjectProperty ; + rdfs:label "Language Code"@en ; rdfs:domain [ a owl:Class ; - owl:unionOf ( dmlex:RelationType dmlex:MemberRole ) ] ; - rdfs:range dmlex:SameAs . + owl:unionOf ( dmlex:TranslationLanguage dmlex:EtymonLanguage ) ] ; + rdfs:range xsd:language . + +dmlex:headwordExplanation a owl:ObjectProperty ; + rdfs:label "Headword Explanation"@en ; + rdfs:domain dmlex:Sense ; + rdfs:range dmlex:HeadwordExplanation . + +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 830a602..47e24df 100644 --- a/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex.ttl +++ b/dmlex-v1.0/specification/serializations/RDF/ontology/dmlex.ttl @@ -15,7 +15,7 @@ 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 ) ] ; + 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 ; @@ -39,7 +39,7 @@ 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 ) ] ; + owl:unionOf ( dmlex:LexicographicResource dmlex:HeadwordExplanation dmlex:ExampleTranslation dmlex:EtymonUnit ) ] ; rdfs:range xsd:language ; rdfs:subPropertyOf lime:language . @@ -74,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:ExampleTranslation ) ] ; + 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 ; @@ -114,7 +114,7 @@ dmlex:PartOfSpeech a owl:Class ; dmlex:tag a owl:DatatypeProperty ; rdfs:label "Tag"@en ; - rdfs:domain [ a owlClass ; + 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 . @@ -135,7 +135,7 @@ dmlex:InflectedForm a owl:Class ; dmlex:text a owl:DatatypeProperty ; rdfs:label "Text"@en ; rdfs:domain [ a owl:Class ; - owl:unionOf ( dmlex:InflectedForm dmlex:Definition dmlex:Transcription dmlex:Example dmlex:HeadwordTranslation dmlex:HeadwordExplanation dmlex:ExampleTranslation ) ] ; + 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 ; @@ -281,7 +281,8 @@ dmlex:TranslationLanguage a owl:Class ; dmlex:langCode a owl:ObjectProperty ; rdfs:label "Language Code"@en ; - rdfs:domain dmlex:TranslationLanguage ; + rdfs:domain [ a owl:Class ; + owl:unionOf ( dmlex:TranslationLanguage dmlex:EtymonLanguage ) ] ; rdfs:range xsd:language . dmlex:headwordExplanation a owl:ObjectProperty ; @@ -376,7 +377,7 @@ dmlex:transcriptionSchemeTag a owl:ObjectProperty ; 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 ) ] ; + 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 ; @@ -538,8 +539,7 @@ dmlex:Relation a owl:Class ; dmlex:type a owl:DatatypeProperty ; rdfs:label "Type"@en ; rdfs:domain [ a owl:Class ; - owl:unionOf ( dmlex:Relation dmlex:RelationType ) ] ; -# 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 ; @@ -640,5 +640,202 @@ dmlex:action a owl:DatatypeProperty ; rdfs:domain dmlex:MemberType ; rdfs:range xsd:string . +################################################################################ +## Annotation Module + +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: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:startIndex ; + owl:cardinality 1 ] , [ + a owl:Restriction ; + owl:onProperty dmlex:endIndex ; + 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: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: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: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: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: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 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 ] , [ + 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: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: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 a1f8a33..247763e 100644 --- a/dmlex-v1.0/specification/serializations/RDF/specification.xml +++ b/dmlex-v1.0/specification/serializations/RDF/specification.xml @@ -36,7 +36,7 @@
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. @@ -46,9 +46,50 @@
DMLex RDF serialization elements + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +