From fb52d23f5bc8f821172feceb5a397c5d70de1582 Mon Sep 17 00:00:00 2001 From: marlip Date: Tue, 18 May 2021 11:39:47 +0200 Subject: [PATCH 1/6] Start adding iiif-terms --- source/vocab/manifest-canvas.ttl | 49 ++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 source/vocab/manifest-canvas.ttl diff --git a/source/vocab/manifest-canvas.ttl b/source/vocab/manifest-canvas.ttl new file mode 100644 index 000000000..3235db172 --- /dev/null +++ b/source/vocab/manifest-canvas.ttl @@ -0,0 +1,49 @@ +@prefix iiif: . +@prefix rdfs: . +@prefix owl: . +@prefix xsd: . +@prefix skos: . +@prefix prov: . +@prefix sdo: . +@prefix dc: . +@prefix bf2: . +#prefix edm: +@prefix relsubtype: . +@prefix : . + +## +# IIIF PRESENTATION API 3.0 + +:Manifest a owl:Class ; + rdfs:label "Manifest"@en, "Manifest"@sv ; + owl:equivalentClass iiif:Manifest ; + rdfs:subClassOf :Embodiment ; + rdfs:subClassOf [ a owl:Restriction; + owl:onProperty :items; owl:allValuesFrom :Canvas ] . + +:Canvas a owl:Class ; + rdfs:label "Canvas"@en, "Canvas"@sv ; + owl:equivalentClass iiif:Canvas ; + rdfs:subClassOf :Embodiment ; + rdfs:subClassOf [ a owl:Restriction; + owl:onProperty :items; owl:allValuesFrom :AnnotationPage ] . + +:AnnotationPage a owl:Class ; + rdfs:label "AnnotationPage"@en, "Annoteringssida"@sv ; + owl:equivalentClass iiif:AnnotationPage ; + rdfs:subClassOf :Embodiment ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty :items; owl:allValuesFrom :Annotation ] . + +:Annotation a owl:Class ; + rdfs:label "Annotation"@en, "Annotering"@sv ; + owl:equivalentClass iiif:Annotation ; + rdfs:subClassOf :Embodiment . + +:items a owl:ObjectProperty ; + rdfs:label "items"@en, "element"@sv ; #in progress + sdo:domainIncludes :Manifest, :Canvas, :AnnotationPage ; + sdo:rangeIncludes :Canvas, :AnnotationPage, :Annotation ; + owl:equivalentProperty :includes ; + owl:inverseOf :target . # eller partOf? + From 9750dbfa51d897712470565e51c36b13e2837701 Mon Sep 17 00:00:00 2001 From: Sara-Lena Wiktor Date: Wed, 26 May 2021 13:54:31 +0200 Subject: [PATCH 2/6] WIP: Minor fixes and some TODOS --- source/vocab/files-packages-representations.ttl | 2 +- source/vocab/manifest-canvas.ttl | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/source/vocab/files-packages-representations.ttl b/source/vocab/files-packages-representations.ttl index 6e0367dbc..9fc3e237c 100644 --- a/source/vocab/files-packages-representations.ttl +++ b/source/vocab/files-packages-representations.ttl @@ -68,7 +68,7 @@ :includes a owl:ObjectProperty ; rdfs:label "includes"@en, "inkluderar"@sv ; sdo:domainIncludes :FilePackage, :MediaObject, :Representation ; - sdo:rangeIncludes :MediaObject, :Representation ; + sdo:rangeIncludes :MediaObject, :Representation, :Manifest ; owl:equivalentProperty relsubtype:inc ; # TODO: super-properties of relsubtype:inc instead? owl:inverseOf :includedIn ; rdfs:subPropertyOf :hasPart . diff --git a/source/vocab/manifest-canvas.ttl b/source/vocab/manifest-canvas.ttl index 3235db172..84cd12339 100644 --- a/source/vocab/manifest-canvas.ttl +++ b/source/vocab/manifest-canvas.ttl @@ -1,4 +1,4 @@ -@prefix iiif: . +@prefix iiif: . @prefix rdfs: . @prefix owl: . @prefix xsd: . @@ -7,7 +7,6 @@ @prefix sdo: . @prefix dc: . @prefix bf2: . -#prefix edm: @prefix relsubtype: . @prefix : . @@ -24,14 +23,14 @@ :Canvas a owl:Class ; rdfs:label "Canvas"@en, "Canvas"@sv ; owl:equivalentClass iiif:Canvas ; - rdfs:subClassOf :Embodiment ; + rdfs:subClassOf :Embodiment ; # Canvas motsv ju mer en sida. Funkar Embodiment då? rdfs:subClassOf [ a owl:Restriction; owl:onProperty :items; owl:allValuesFrom :AnnotationPage ] . :AnnotationPage a owl:Class ; rdfs:label "AnnotationPage"@en, "Annoteringssida"@sv ; owl:equivalentClass iiif:AnnotationPage ; - rdfs:subClassOf :Embodiment ; + rdfs:subClassOf :Embodiment ; rdfs:subClassOf [ a owl:Restriction ; owl:onProperty :items; owl:allValuesFrom :Annotation ] . @@ -47,3 +46,4 @@ owl:equivalentProperty :includes ; owl:inverseOf :target . # eller partOf? +# TODO: seeAlso, metadata, label, rights, height, width, motivation, body, format, service, profile, target, annotations From ca8f932fdc38e3d594e8c9b547ca1f0d2138f625 Mon Sep 17 00:00:00 2001 From: marlip Date: Mon, 31 May 2021 09:20:33 +0200 Subject: [PATCH 3/6] WIP - Add iiif terms --- source/vocab/manifest-canvas.ttl | 54 ++++++++++++++++++++++++++++++-- 1 file changed, 51 insertions(+), 3 deletions(-) diff --git a/source/vocab/manifest-canvas.ttl b/source/vocab/manifest-canvas.ttl index 84cd12339..2db9f27f9 100644 --- a/source/vocab/manifest-canvas.ttl +++ b/source/vocab/manifest-canvas.ttl @@ -39,11 +39,59 @@ owl:equivalentClass iiif:Annotation ; rdfs:subClassOf :Embodiment . +:Range a owl:Class ; + rdfs:label "Annotation"@en, "Annotering"@sv ; + owl:equivalentClass iiif:Range ; + rdfs:subClassOf :Embodiment . + +:structures a owl:ObjectProperty ; + rdfs:label "structures"@en, "strukturer"@sv ; + sdo:domainIncludes :Manifest ; + sdo:rangeIncludes :Range ; + owl:equivalentProperty iiif:structures . + :items a owl:ObjectProperty ; rdfs:label "items"@en, "element"@sv ; #in progress - sdo:domainIncludes :Manifest, :Canvas, :AnnotationPage ; - sdo:rangeIncludes :Canvas, :AnnotationPage, :Annotation ; + sdo:domainIncludes :Manifest, :Canvas, :AnnotationPage ; # slopa includes, mer exakt? + sdo:rangeIncludes :Canvas, :AnnotationPage, :Annotation ; # --II-- owl:equivalentProperty :includes ; owl:inverseOf :target . # eller partOf? -# TODO: seeAlso, metadata, label, rights, height, width, motivation, body, format, service, profile, target, annotations +:annotations a owl:ObjectProperty ; + rdfs:label "annotations"@en, "annoteringar"@sv ; #in progress + sdo:domainIncludes :Manifest, :Canvas, :Range ; # slopa includes, mer exakt? + sdo:rangeIncludes :AnnotationPage ; + owl:equivalentProperty iiif:annotations . + +:motivation a owl:ObjectProperty ; + rdfs:label "motivation"@en, "motivation"@sv ; + sdo:domainIncludes :Annotation ; + owl:equivalentProperty #?; . + . + +:metadata a owl:ObjectProperty ; + rdfs:label "metadata"@en, "metadata"@sv ; + sdo:domain :Manifest ; + owl:equivalentProperty iiif:metadata ; +. + +:profile a owl:ObjectProperty ; + rdfs:label "profile"@en, "anvisning"@sv ; + sdo:domain :Annotation ; + owl:equivalentProperty iiif:profile . + +:service a owl:ObjectProperty; + rdfs:label "service"@en, "tjänst"@sv ; + sdo:domain :Annotation ; + owl:equivalentProperty iiif:service . + +:target a owl:ObjectProperty ; + rdfs:label "target"@en, "mål"@sv ; + sdo:domain :Annotation ; + sdo:range :Canvas ; + owl:equivalentProperty iiif:service . + + + +# TODO: seeAlso, label, rights, height, width, body, dc:format, painting?, supplementing? +# Vad göra med Image (StillImage hos oss?). Audio, Video, \ No newline at end of file From 46bc71bdea84246a171d41c80e3f57902c892594 Mon Sep 17 00:00:00 2001 From: Sara-Lena Wiktor Date: Mon, 31 May 2021 16:55:34 +0200 Subject: [PATCH 4/6] Minor merge fix --- source/vocab/base.ttl | 5 +- .../vocab/iiif-presentation-annotations.ttl | 118 ++++++++++++++++++ source/vocab/manifest-canvas.ttl | 97 -------------- source/vocab/things.ttl | 7 +- 4 files changed, 125 insertions(+), 102 deletions(-) create mode 100644 source/vocab/iiif-presentation-annotations.ttl delete mode 100644 source/vocab/manifest-canvas.ttl diff --git a/source/vocab/base.ttl b/source/vocab/base.ttl index 6cad8b564..d729b5d79 100644 --- a/source/vocab/base.ttl +++ b/source/vocab/base.ttl @@ -17,6 +17,7 @@ @prefix bflc: . @prefix sdo: . @prefix madsrdf: . +@prefix iiif_pres3: . @prefix : . @@ -160,7 +161,7 @@ rdf:type a owl:ObjectProperty; rdfs:label "label"@en, "benämning"@sv; rdfs:domain :Resource ; :category :heuristicIdentifier ; - owl:equivalentProperty rdfs:label, sdo:name . + owl:equivalentProperty rdfs:label, sdo:name, iiif_pres3:label . :comment a owl:DatatypeProperty; rdfs:label "comment"@en, "kommentar"@sv; @@ -193,7 +194,7 @@ rdf:type a owl:ObjectProperty; :value a owl:DatatypeProperty; rdfs:label "value"@en, "värde"@sv; rdfs:domain :Resource; - owl:equivalentProperty rdf:value . + owl:equivalentProperty rdf:value, iiif_pres3:value . :seeAlso a owl:ObjectProperty; rdfs:label "se även"@sv; diff --git a/source/vocab/iiif-presentation-annotations.ttl b/source/vocab/iiif-presentation-annotations.ttl new file mode 100644 index 000000000..7ef5dbd11 --- /dev/null +++ b/source/vocab/iiif-presentation-annotations.ttl @@ -0,0 +1,118 @@ +@prefix iiif_pres3: . # Funkar denna urin? +@prefix oa: . # Funkar denna urin? +@prefix rdfs: . +@prefix owl: . +@prefix xsd: . +@prefix skos: . +@prefix prov: . +@prefix sdo: . +@prefix dc: . +@prefix bf2: . +@prefix relsubtype: . +@prefix : . + +## +# IIIF PRESENTATION API 3.0 + +:id owl:equivalentProperty iiif_pres3:id . +:type owl:equivalentProperty iiif_pres3:type . + +:Manifest a owl:Class ; + :category :pending ; + rdfs:label "Manifest"@en, "Manifest"@sv ; + owl:equivalentClass iiif_pres3:Manifest ; + rdfs:subClassOf :Embodiment ; + rdfs:subClassOf [ a owl:Restriction; + owl:onProperty :items; owl:allValuesFrom :Canvas ] . + +:Canvas a owl:Class ; + :category :pending ; + rdfs:label "Canvas"@en, "Canvas"@sv ; + owl:equivalentClass iiif_pres3:Canvas ; +# rdfs:subClassOf :Embodiment ; # Canvas motsv ju en sida av ett verk, men oxå en bild som är ett eget verk. Kan vi hitta en lämplig superklass? + rdfs:subClassOf [ a owl:Restriction; + owl:onProperty :items; owl:allValuesFrom :AnnotationPage ] . + +:AnnotationPage a owl:Class ; + :category :pending ; + rdfs:label "AnnotationPage"@en, "Annoteringssida"@sv ; + owl:equivalentClass iiif_pres3:AnnotationPage ; +# rdfs:subClassOf :Embodiment ; # En samlingspunkt för annoteringar. Ex. en och samma video men olika annoteringar för +# textningar --> dom blir olika AnnotationPage under en och sammma Canvas. Kan vi hitta en lämplig superklass? + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty :items; owl:allValuesFrom :Annotation ] . + +:Annotation a owl:Class ; + :category :pending ; + rdfs:label "Annotation"@en, "Annotering"@sv ; + owl:equivalentClass iiif_pres3:Annotation, oa:Annotation . + # Lämplig superklass? + +:Image owl:equivalentClass :StillImage . +:Video owl:equivalentClass :MovingImage . + +# TODO :Range a owl:Class ; --> Behov kommer med Tidningar och Visa +# TODO :structures a owl:ObjectProperty ; --> Behov kommer med Tidningar och Visa +# TODO :annotations a owl:ObjectProperty ; --> Behov kommer med Tidningar och Visa + +:items a owl:ObjectProperty ; # Begreppskrock med itemOf, hasItem och Item? + :category :pending ; + rdfs:label "items"@en, "element"@sv ; # Begreppskrock med itemOf, hasItem och Item? + sdo:domainIncludes :Manifest, :Canvas, :AnnotationPage ; + sdo:rangeIncludes :Canvas, :AnnotationPage, :Annotation ; + owl:equivalentProperty :includes . # Kan de vara equivalentProperty när de inte har samma range och domain? Vilken annan relation? + # TODO owl:inverseOf :target ? # eller partOf? En annotering som pekar ut ett Manifest eller Canvas, men inte AnnotationPage + +:motivation a owl:DatatypeProperty ; # NOTE: Ett visst antal möjliga värden; painting, supplementing etc - Kan vi ha DatatypeProperty? + :category :pending ; + rdfs:label "motivation"@en, "motivering"@sv ; + rdfs:domain :Annotation ; + owl:equivalentProperty oa:motivation . + +:metadata a owl:DatatypeProperty ; # Behöver vi tänka nåt på språktaggarna för label? Vi har tagit bort det pga ej obligatoriskt + :category :pending ; + rdfs:label "metadata"@en, "metadata"@sv ; + rdfs:domain :Manifest ; + owl:equivalentProperty iiif_pres3:metadata . + +:profile a owl:ObjectProperty ; + :category :pending ; + rdfs:label "profile"@en, "profil"@sv ; + rdfs:domain iiif_pres3:ImageService3 ; + owl:equivalentProperty iiif_pres3:profile . + +:service a owl:ObjectProperty; + :category :pending ; + rdfs:label "service"@en, "tjänst"@sv ; + owl:domainIncludes :Image, :Video, :Audio, :Text ; + owl:equivalentProperty iiif_pres3:service . + +:target a owl:ObjectProperty ; + :category :pending ; + rdfs:label "target"@en, "mål"@sv ; + rdfs:domain :Annotation ; + rdfs:range :Canvas ; + owl:equivalentProperty oa:target . + +:body a owl:ObjectProperty ; + :category :pending ; + rdfs:label "body"@en ; # TODO: Svensk label? + rdfs:domain :Annotation ; + owl:rangeIncludes :Image, :Video, :Audio, :Text ; + owl:equivalentProperty oa:body . + +:height a owl:DatatypeProperty ; # OBS! Krockar med kbv:height. iiif_pres3:height är endast för digitala objekt + :category :pending ; + rdfs:label "height"@en, "höjd"@sv ; + owl:domainIncludes :Canvas, :Image, :Video ; +# rdfs:range :Integer ; + owl:equivalentProperty iiif_pres3:height . + +:width a owl:DatatypeProperty ; # OBS! Krockar med kbv:width. iiif_pres3:width är endast för digitala objekt + :category :pending ; + rdfs:label "width"@en, "bredd"@sv ; + owl:domainIncludes :Canvas, :Image, :Video ; +# rdfs:range :Integer ; + owl:equivalentProperty iiif_pres3:width . + +# TODO: painting, supplementing som värden för motivation \ No newline at end of file diff --git a/source/vocab/manifest-canvas.ttl b/source/vocab/manifest-canvas.ttl deleted file mode 100644 index 2db9f27f9..000000000 --- a/source/vocab/manifest-canvas.ttl +++ /dev/null @@ -1,97 +0,0 @@ -@prefix iiif: . -@prefix rdfs: . -@prefix owl: . -@prefix xsd: . -@prefix skos: . -@prefix prov: . -@prefix sdo: . -@prefix dc: . -@prefix bf2: . -@prefix relsubtype: . -@prefix : . - -## -# IIIF PRESENTATION API 3.0 - -:Manifest a owl:Class ; - rdfs:label "Manifest"@en, "Manifest"@sv ; - owl:equivalentClass iiif:Manifest ; - rdfs:subClassOf :Embodiment ; - rdfs:subClassOf [ a owl:Restriction; - owl:onProperty :items; owl:allValuesFrom :Canvas ] . - -:Canvas a owl:Class ; - rdfs:label "Canvas"@en, "Canvas"@sv ; - owl:equivalentClass iiif:Canvas ; - rdfs:subClassOf :Embodiment ; # Canvas motsv ju mer en sida. Funkar Embodiment då? - rdfs:subClassOf [ a owl:Restriction; - owl:onProperty :items; owl:allValuesFrom :AnnotationPage ] . - -:AnnotationPage a owl:Class ; - rdfs:label "AnnotationPage"@en, "Annoteringssida"@sv ; - owl:equivalentClass iiif:AnnotationPage ; - rdfs:subClassOf :Embodiment ; - rdfs:subClassOf [ a owl:Restriction ; - owl:onProperty :items; owl:allValuesFrom :Annotation ] . - -:Annotation a owl:Class ; - rdfs:label "Annotation"@en, "Annotering"@sv ; - owl:equivalentClass iiif:Annotation ; - rdfs:subClassOf :Embodiment . - -:Range a owl:Class ; - rdfs:label "Annotation"@en, "Annotering"@sv ; - owl:equivalentClass iiif:Range ; - rdfs:subClassOf :Embodiment . - -:structures a owl:ObjectProperty ; - rdfs:label "structures"@en, "strukturer"@sv ; - sdo:domainIncludes :Manifest ; - sdo:rangeIncludes :Range ; - owl:equivalentProperty iiif:structures . - -:items a owl:ObjectProperty ; - rdfs:label "items"@en, "element"@sv ; #in progress - sdo:domainIncludes :Manifest, :Canvas, :AnnotationPage ; # slopa includes, mer exakt? - sdo:rangeIncludes :Canvas, :AnnotationPage, :Annotation ; # --II-- - owl:equivalentProperty :includes ; - owl:inverseOf :target . # eller partOf? - -:annotations a owl:ObjectProperty ; - rdfs:label "annotations"@en, "annoteringar"@sv ; #in progress - sdo:domainIncludes :Manifest, :Canvas, :Range ; # slopa includes, mer exakt? - sdo:rangeIncludes :AnnotationPage ; - owl:equivalentProperty iiif:annotations . - -:motivation a owl:ObjectProperty ; - rdfs:label "motivation"@en, "motivation"@sv ; - sdo:domainIncludes :Annotation ; - owl:equivalentProperty #?; . - . - -:metadata a owl:ObjectProperty ; - rdfs:label "metadata"@en, "metadata"@sv ; - sdo:domain :Manifest ; - owl:equivalentProperty iiif:metadata ; -. - -:profile a owl:ObjectProperty ; - rdfs:label "profile"@en, "anvisning"@sv ; - sdo:domain :Annotation ; - owl:equivalentProperty iiif:profile . - -:service a owl:ObjectProperty; - rdfs:label "service"@en, "tjänst"@sv ; - sdo:domain :Annotation ; - owl:equivalentProperty iiif:service . - -:target a owl:ObjectProperty ; - rdfs:label "target"@en, "mål"@sv ; - sdo:domain :Annotation ; - sdo:range :Canvas ; - owl:equivalentProperty iiif:service . - - - -# TODO: seeAlso, label, rights, height, width, body, dc:format, painting?, supplementing? -# Vad göra med Image (StillImage hos oss?). Audio, Video, \ No newline at end of file diff --git a/source/vocab/things.ttl b/source/vocab/things.ttl index 17be0f3e0..977769426 100644 --- a/source/vocab/things.ttl +++ b/source/vocab/things.ttl @@ -26,6 +26,7 @@ @prefix : . @prefix marc: . +@prefix iiif_pres3: . # TODO: List top concepts to provide interfaces with: @@ -199,7 +200,7 @@ :format a owl:ObjectProperty; rdfs:label "format"@en, "format"@sv; ptg:abstract true ; - owl:equivalentProperty dc:format . + owl:equivalentProperty dc:format, iiif_pres3:format . :BookFormat a owl:Class; rdfs:label "Book format"@en, "Bokformat"@sv; @@ -234,7 +235,7 @@ skos:definition "Resurs uttryckt i en hörbar form, inklusive musik och andra ljud."@sv; rdfs:subClassOf :Work; skos:exactMatch rdamedia:1001 ; # "audio" - owl:equivalentClass dctype:Sound, bf2:Audio . + owl:equivalentClass dctype:Sound, bf2:Audio, iiif_pres3:Audio . :Cartography a owl:Class; rdfs:label "Karta"@sv; @@ -308,7 +309,7 @@ skos:definition "Resurs avsedd att uppfattas visuellt och förstås genom användning av språk i skriftlig eller talad form."@sv; skos:exactMatch rdacontent:1020 ; # "text" rdfs:subClassOf :Work; - owl:equivalentClass dctype:Text, bf2:Text . + owl:equivalentClass dctype:Text, bf2:Text, iiif_pres3:Text . # Additional Work/Coordination Types From 24cc0562c6a1b3582abd5435b835a3a3e12ab16b Mon Sep 17 00:00:00 2001 From: Sara-Lena Wiktor Date: Wed, 2 Jun 2021 08:40:42 +0200 Subject: [PATCH 5/6] Remove mapping of IIIF id and type - they are only aliases for @id and @type --- source/vocab/iiif-presentation-annotations.ttl | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/source/vocab/iiif-presentation-annotations.ttl b/source/vocab/iiif-presentation-annotations.ttl index 7ef5dbd11..e00344e40 100644 --- a/source/vocab/iiif-presentation-annotations.ttl +++ b/source/vocab/iiif-presentation-annotations.ttl @@ -12,10 +12,7 @@ @prefix : . ## -# IIIF PRESENTATION API 3.0 - -:id owl:equivalentProperty iiif_pres3:id . -:type owl:equivalentProperty iiif_pres3:type . +# IIIF PRESENTATION API 3.0 and Web Annotation Data Model :Manifest a owl:Class ; :category :pending ; From 5c2a506be00701186d8bad586528261e9de02992 Mon Sep 17 00:00:00 2001 From: marlip Date: Thu, 29 Jul 2021 16:36:00 +0200 Subject: [PATCH 6/6] Add TODO for thumbnail, format; rebase to develop --- source/vocab/iiif-presentation-annotations.ttl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/vocab/iiif-presentation-annotations.ttl b/source/vocab/iiif-presentation-annotations.ttl index e00344e40..0155a5552 100644 --- a/source/vocab/iiif-presentation-annotations.ttl +++ b/source/vocab/iiif-presentation-annotations.ttl @@ -112,4 +112,6 @@ # rdfs:range :Integer ; owl:equivalentProperty iiif_pres3:width . -# TODO: painting, supplementing som värden för motivation \ No newline at end of file +# TODO: painting, supplementing som värden för motivation +# TODO: format? +# TODO: thumbnail \ No newline at end of file