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