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/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/iiif-presentation-annotations.ttl b/source/vocab/iiif-presentation-annotations.ttl new file mode 100644 index 000000000..0155a5552 --- /dev/null +++ b/source/vocab/iiif-presentation-annotations.ttl @@ -0,0 +1,117 @@ +@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 and Web Annotation Data Model + +: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 +# TODO: format? +# TODO: thumbnail \ 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