From e3b2775965ea5eceb3faa1172d9244661ae66d98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niklas=20Lindstr=C3=B6m?= Date: Mon, 29 Apr 2024 11:24:05 +0200 Subject: [PATCH 1/5] Add new precise holding subclasses and properties --- source/vocab/items.ttl | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/source/vocab/items.ttl b/source/vocab/items.ttl index 70a1220b0..0c67e6d53 100644 --- a/source/vocab/items.ttl +++ b/source/vocab/items.ttl @@ -1,6 +1,8 @@ @prefix rdfs: . @prefix owl: . @prefix skos: . +@prefix ptg: . + @prefix sdo: . @prefix bf2: . @prefix rdaent: . @@ -26,17 +28,27 @@ # BF2 ITEM/HOLDING LOCATION :Item a owl:Class ; - rdfs:label "Item"@en, "Bestånd"@sv ; + rdfs:label "Item"@en, "Exemplar"@sv ; + ptg:abstract true ; :category marc:hold; rdfs:subClassOf :Embodiment; skos:closeMatch rdaent:Item; owl:equivalentClass bf2:Item, sdo:Product, holding:Item . #TODO?: owl:equivalentClass [ owl:unionOf (sdo:Product sdo:Offer) ] ; +:ItemHolding a owl:Class ; + rdfs:label "Item holding"@en, "Bestånd"@sv ; + rdfs:subClassOf :Item , sdo:SomeProducts . + +:SomeItem a owl:Class ; + #ptg:abstract true ; + :category marc:none ; + rdfs:label "Some item"@en, "Något exemplar"@sv ; + rdfs:subClassOf :Item . + :SingleItem a owl:Class ; - rdfs:subClassOf :Item ; + rdfs:subClassOf :SomeItem , sdo:IndividualProduct ; :category marc:none ; - owl:equivalentClass sdo:IndividualProduct ; rdfs:label "Single item"@en, "Exemplar"@sv . :itemOf a owl:ObjectProperty ; @@ -256,10 +268,9 @@ rdfs:label "has component"@en, "har komponent"@sv ; :category :compositional, :integral; rdfs:subPropertyOf bf2:hasPart ; - rdfs:domain :Item ; owl:inverseOf :componentOf ; - # TODO: rdfs:domain :SomeItems ; - rdfs:range :Item ; + rdfs:domain :ItemHolding ; + rdfs:range :SomeItem ; skos:note "Retained from BF1 to enable an Item entity to describe several Items within the same holding. (Historically due to local variations in Libris MARC21-spec.)"@en . :componentOf a owl:ObjectProperty ; From 58f20ad6568c9ede3bfa6fa34491bb45fa6b329f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niklas=20Lindstr=C3=B6m?= Date: Mon, 3 Jun 2024 18:41:14 +0200 Subject: [PATCH 2/5] Revise detailed holding/item model --- source/vocab/items.ttl | 38 +++++++++++++------------------------- 1 file changed, 13 insertions(+), 25 deletions(-) diff --git a/source/vocab/items.ttl b/source/vocab/items.ttl index 0c67e6d53..bb267d0b6 100644 --- a/source/vocab/items.ttl +++ b/source/vocab/items.ttl @@ -2,7 +2,6 @@ @prefix owl: . @prefix skos: . @prefix ptg: . - @prefix sdo: . @prefix bf2: . @prefix rdaent: . @@ -22,23 +21,20 @@ # OTHER ITEM PROPERTIES AND CLASSES # RETAINED SCHEMA/BF1 MAPPINGS # EARLY LOCAL LIBRIS HOLDING TERMS -# MODEL SUGGESTIONS ## # BF2 ITEM/HOLDING LOCATION :Item a owl:Class ; - rdfs:label "Item"@en, "Exemplar"@sv ; - ptg:abstract true ; + rdfs:label "Item"@en, "Bestånd"@sv ; :category marc:hold; - rdfs:subClassOf :Embodiment; + rdfs:subClassOf :Embodiment, sdo:Product; skos:closeMatch rdaent:Item; - owl:equivalentClass bf2:Item, sdo:Product, holding:Item . - #TODO?: owl:equivalentClass [ owl:unionOf (sdo:Product sdo:Offer) ] ; + owl:equivalentClass bf2:Item, holding:Item . :ItemHolding a owl:Class ; - rdfs:label "Item holding"@en, "Bestånd"@sv ; - rdfs:subClassOf :Item , sdo:SomeProducts . + rdfs:label "Item holding"@en, "Beståndsinnehav"@sv ; + rdfs:subClassOf :Item , sdo:Offer . :SomeItem a owl:Class ; #ptg:abstract true ; @@ -46,10 +42,15 @@ rdfs:label "Some item"@en, "Något exemplar"@sv ; rdfs:subClassOf :Item . +:MultipleItems a owl:Class ; + rdfs:subClassOf :Item ; + rdfs:subClassOf sdo:SomeProducts ; + rdfs:label "Multiple items"@en, "Flera exemplar"@sv . + :SingleItem a owl:Class ; rdfs:subClassOf :SomeItem , sdo:IndividualProduct ; :category marc:none ; - rdfs:label "Single item"@en, "Exemplar"@sv . + rdfs:label "Single item"@en, "Enskilt exemplar"@sv . :itemOf a owl:ObjectProperty ; rdfs:label "Holding for"@en, "bestånd på"@sv ; @@ -267,9 +268,9 @@ :hasComponent a owl:ObjectProperty ; rdfs:label "has component"@en, "har komponent"@sv ; :category :compositional, :integral; - rdfs:subPropertyOf bf2:hasPart ; - owl:inverseOf :componentOf ; + rdfs:subPropertyOf bf2:hasPart, sdo:itemOffered ; rdfs:domain :ItemHolding ; + owl:inverseOf :componentOf ; rdfs:range :SomeItem ; skos:note "Retained from BF1 to enable an Item entity to describe several Items within the same holding. (Historically due to local variations in Libris MARC21-spec.)"@en . @@ -323,16 +324,3 @@ rdfs:range rdfs:Literal ; rdfs:comment "Om materialet ställs upp efter titel, författare, ämne eller annat beskrivande uppställningsord. Kan kombineras med kompletterande placeringsuppgifter, t.ex. klassifikation eller uppställningsord."@sv; skos:example "Deckare", "Lagerlöf" . - - -# MODEL SUGGESTIONS -# -# :MultipleItems a owl:Class ; -# rdfs:subClassOf :Item ; -# owl:equivalentClass sdo:SomeProducts ; -# rdfs:label "Multiple items"@en, "Flera exemplar"@sv . - -# :IndividualItem a owl:Class ; -# rdfs:subClassOf :Item ; -# owl:equivalentClass sdo:IndividualProduct ; -# rdfs:label "Individual item"@en, "Enskilt exemplar"@sv . From 8a5f84422764a9d0c9b405c38fa2e380309b7897 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niklas=20Lindstr=C3=B6m?= Date: Fri, 22 May 2026 17:53:43 +0200 Subject: [PATCH 3/5] Change from SomeItems to HeldComponent MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Niklas Lindström --- source/vocab/items.ttl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/vocab/items.ttl b/source/vocab/items.ttl index bb267d0b6..b2bd8340b 100644 --- a/source/vocab/items.ttl +++ b/source/vocab/items.ttl @@ -36,10 +36,10 @@ rdfs:label "Item holding"@en, "Beståndsinnehav"@sv ; rdfs:subClassOf :Item , sdo:Offer . -:SomeItem a owl:Class ; +:HeldComponent a owl:Class ; #ptg:abstract true ; :category marc:none ; - rdfs:label "Some item"@en, "Något exemplar"@sv ; + rdfs:label "Held component"@en, "Beståndskomponent"@sv ; rdfs:subClassOf :Item . :MultipleItems a owl:Class ; @@ -48,7 +48,7 @@ rdfs:label "Multiple items"@en, "Flera exemplar"@sv . :SingleItem a owl:Class ; - rdfs:subClassOf :SomeItem , sdo:IndividualProduct ; + rdfs:subClassOf :HeldComponent , sdo:IndividualProduct ; :category marc:none ; rdfs:label "Single item"@en, "Enskilt exemplar"@sv . @@ -271,7 +271,7 @@ rdfs:subPropertyOf bf2:hasPart, sdo:itemOffered ; rdfs:domain :ItemHolding ; owl:inverseOf :componentOf ; - rdfs:range :SomeItem ; + rdfs:range :HeldComponent ; skos:note "Retained from BF1 to enable an Item entity to describe several Items within the same holding. (Historically due to local variations in Libris MARC21-spec.)"@en . :componentOf a owl:ObjectProperty ; From b867ec19f75c2ed47727f02d14b6c58b11a7a292 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niklas=20Lindstr=C3=B6m?= Date: Fri, 22 May 2026 17:54:18 +0200 Subject: [PATCH 4/5] Remove MultipleItems from suggestion --- source/vocab/items.ttl | 5 ----- 1 file changed, 5 deletions(-) diff --git a/source/vocab/items.ttl b/source/vocab/items.ttl index b2bd8340b..1c1bc6398 100644 --- a/source/vocab/items.ttl +++ b/source/vocab/items.ttl @@ -42,11 +42,6 @@ rdfs:label "Held component"@en, "Beståndskomponent"@sv ; rdfs:subClassOf :Item . -:MultipleItems a owl:Class ; - rdfs:subClassOf :Item ; - rdfs:subClassOf sdo:SomeProducts ; - rdfs:label "Multiple items"@en, "Flera exemplar"@sv . - :SingleItem a owl:Class ; rdfs:subClassOf :HeldComponent , sdo:IndividualProduct ; :category marc:none ; From 7287d0995e98d6ef1a4859b3f56bfd1e005fb972 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niklas=20Lindstr=C3=B6m?= Date: Fri, 22 May 2026 18:05:22 +0200 Subject: [PATCH 5/5] Suggest that Item may be abstract (but not HeldComponent) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Niklas Lindström --- source/vocab/items.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/vocab/items.ttl b/source/vocab/items.ttl index 1c1bc6398..54eab3746 100644 --- a/source/vocab/items.ttl +++ b/source/vocab/items.ttl @@ -26,6 +26,7 @@ # BF2 ITEM/HOLDING LOCATION :Item a owl:Class ; + #ptg:abstract true ; rdfs:label "Item"@en, "Bestånd"@sv ; :category marc:hold; rdfs:subClassOf :Embodiment, sdo:Product; @@ -37,7 +38,6 @@ rdfs:subClassOf :Item , sdo:Offer . :HeldComponent a owl:Class ; - #ptg:abstract true ; :category marc:none ; rdfs:label "Held component"@en, "Beståndskomponent"@sv ; rdfs:subClassOf :Item .