diff --git a/source/apps.jsonld b/source/apps.jsonld
index 970887d5..880a6677 100644
--- a/source/apps.jsonld
+++ b/source/apps.jsonld
@@ -78,20 +78,20 @@
"titleByLang": {"sv": "Libris sök", "en": "Libris Search"},
"statistics": {
"sliceList": [
- { "dimensionChain": ["hasInstanceType"], "itemLimit": 100 },
+ { "dimensionChain": ["librissearch:hasInstanceType"], "itemLimit": 100 },
{ "dimensionChain": ["_categoryByCollection", "find"], "itemLimit": 20,
"slice": { "dimensionChain": ["_categoryByCollection", "identify"], "itemLimit": 50 }
},
- { "dimensionChain": ["hasInstanceCategory"], "itemLimit": 100 },
+ { "dimensionChain": ["librissearch:hasInstanceCategory"], "itemLimit": 100 },
{ "dimensionChain": ["language"], "itemLimit": 100, "connective": "OR" },
- { "dimensionChain": ["itemHeldBy"], "itemLimit": 1000 },
+ { "dimensionChain": ["librissearch:itemHeldBy"], "itemLimit": 1000 },
{ "dimensionChain": ["yearPublished"], "itemLimit": 500, "range": true },
{ "dimensionChain": ["contributor"], "itemLimit": 20 },
{ "dimensionChain": ["genreForm"], "itemLimit": 100 },
{ "dimensionChain": ["subject"], "itemLimit": 100 },
{ "dimensionChain": ["bibliography"], "itemLimit": 200 },
{ "dimensionChain": ["rdf:type"], "itemLimit": 100 },
- { "dimensionChain": ["instanceOfType"], "itemLimit": 100 },
+ { "dimensionChain": ["librissearch:instanceOfType"], "itemLimit": 100 },
{ "dimensionChain": ["intendedAudience"], "itemLimit": 100 },
{ "dimensionChain": ["nationality"], "itemLimit": 100 },
{ "dimensionChain": ["hasOccupation"], "itemLimit": 100 },
@@ -99,12 +99,12 @@
]
},
"filterAliases": [
- { "alias": "excludeEplikt", "filter": "NOT (bibliography:\"sigel:EPLK\" AND itemHeldBy:\"sigel:APIS\" AND reverseLinks.totalItemsByRelation.itemOf.instanceOf=1)", "prefLabelByLang": { "sv": "Exkludera elektroniska pliktleveranser", "en": "Exclude electronic legal deposit" } },
+ { "alias": "excludeEplikt", "filter": "NOT (bibliography:\"sigel:EPLK\" AND \"librissearch:itemHeldBy\":\"sigel:APIS\" AND reverseLinks.totalItemsByRelation.itemOf.instanceOf=1)", "prefLabelByLang": { "sv": "Exkludera elektroniska pliktleveranser", "en": "Exclude electronic legal deposit" } },
{ "alias": "includeEplikt", "filter": "NOT excludeEplikt", "prefLabelByLang": { "sv": "Inkludera elektroniska pliktleveranser", "en": "Include electronic legal deposit" } },
{ "alias": "excludePreliminary", "filter": "NOT encodingLevel:(\"marc:PartialPreliminaryLevel\" OR \"marc:PrepublicationLevel\")", "prefLabelByLang": { "sv": "Exkludera kommande publiceringar", "en": "Exclude upcoming publications" } },
{ "alias": "includePreliminary", "filter": "NOT excludePreliminary", "prefLabelByLang": { "sv": "Inkludera kommande publiceringar", "en": "Include upcoming publications" } },
{ "alias": "existsImage", "filter": "image:*", "prefLabelByLang": { "sv": "Har omslags-/miniatyrbild", "en": "Has cover/thumbnail" } },
- { "alias": "freeOnline", "filter": "hasInstanceType:Electronic AND (usageAndAccessPolicy.label:gratis OR \"associatedMedia.marc:publicNote\":\"fritt tillgänglig\" OR usageAndAccessPolicy:(\"https://id.kb.se/policy/freely-available\" OR \"https://id.kb.se/policy/oa/gratis\"))", "prefLabelByLang": { "sv": "Fritt online", "en": "Free online material" } }
+ { "alias": "freeOnline", "filter": "\"librissearch:itemHeldBy\":Electronic AND (usageAndAccessPolicy.label:gratis OR \"associatedMedia.marc:publicNote\":\"fritt tillgänglig\" OR usageAndAccessPolicy:(\"https://id.kb.se/policy/freely-available\" OR \"https://id.kb.se/policy/oa/gratis\"))", "prefLabelByLang": { "sv": "Fritt online", "en": "Free online material" } }
],
"defaultSiteFilters": [
{ "filter": "\"rdf:type\":Work" },
diff --git a/source/vocab/details.ttl b/source/vocab/details.ttl
index ec33354a..e1ea04b8 100644
--- a/source/vocab/details.ttl
+++ b/source/vocab/details.ttl
@@ -640,7 +640,6 @@
rdfs:label "Librisdefinierad MARC-språkkod" ;
rdfs:subClassOf :Local .
-
## Used by SwePub {{{
:CORDIS a owl:Class;
diff --git a/source/vocab/libris-search-experimental.ttl b/source/vocab/libris-search-experimental.ttl
index 86124632..157557e6 100644
--- a/source/vocab/libris-search-experimental.ttl
+++ b/source/vocab/libris-search-experimental.ttl
@@ -3,70 +3,87 @@
@prefix sdo: .
@prefix skos: .
@prefix : .
-
@prefix rdf: .
@prefix xsd: .
+@prefix ls: .
-:LibrisQueryCode a rdfs:Datatype .
-
-:author a owl:ObjectProperty ;
- rdfs:label "författare"@sv, "author"@en ;
- :category :shorthand, :pending ;
- owl:equivalentProperty ;
- rdfs:subPropertyOf :contributor ;
- rdfs:range :Agent ;
- skos:notation "FÖRF"^^:LibrisQueryCode ;
- owl:propertyChainAxiom (
- [ rdfs:subPropertyOf :contribution ; rdfs:range [ rdfs:subClassOf [ a owl:Restriction ;
- owl:onProperty :role ;
- owl:hasValue ] ] ]
- :agent
- ) .
+### Extended definitions for Libris Search ###
:isbn rdfs:domain :Instance . # See ./details.ttl for full definition of :isbn
:yearPublished rdfs:label "utgivningsår"@sv, "year of publication"@en ; # See ./details.ttl for full definition of :yearPublished
rdfs:domain :Instance ;
- skos:notation "ÅR"^^:LibrisQueryCode .
+ skos:notation "ÅR"^^ls:QueryCode .
+
+:language skos:notation "SPRÅK"^^ls:QueryCode . # See ./relations.ttl for full definition of :language
+
+:controlNumber skos:notation "ONR"^^ls:QueryCode . # See ./platform.ttl for full definition of :controlNumber
+
+#:hasTitle rdfs:subPropertyOf ls:someTitle . # See ./details.ttl for full definition of :hasTitle
+
-:language skos:notation "SPRÅK"^^:LibrisQueryCode . # See ./relations.ttl for full definition of :language
+### New definitions for Libris Search ###
-:controlNumber skos:notation "ONR"^^:LibrisQueryCode . # See ./platform.ttl for full definition of :controlNumber
+ls:QueryCode a rdfs:Datatype .
-:itemHeldBy a owl:ObjectProperty ;
+ls:composite a skos:Collection ;
+ rdfs:label "composite"@en, "sammansatt"@sv ;
+ :code "composite" .
+
+ls:itemHeldBy a owl:ObjectProperty ;
rdfs:label "Bibliotek"@sv, "Library"@en ;
- :category :shorthand, :pending ;
+ :category :shorthand ;
rdfs:domain :Instance ;
sdo:rangeIncludes :Library ;
owl:propertyChainAxiom ( :hasItem :heldBy ) .
-:instanceOfType a owl:ObjectProperty ;
- :category :shorthand, :pending ;
+ls:instanceOfType a owl:ObjectProperty ;
+ :category :shorthand ;
rdfs:domain :Instance ;
owl:propertyChainAxiom ( :instanceOf rdf:type ) .
-:hasInstanceType a owl:ObjectProperty ;
+ls:hasInstanceType a owl:ObjectProperty ;
rdfs:label "format"@sv, "format"@en ;
- skos:notation "FORMAT"^^:LibrisQueryCode ;
- :category :shorthand, :pending ;
+ :category :shorthand ;
rdfs:domain :Work ;
owl:propertyChainAxiom ( :hasInstance rdf:type ) .
-:instanceOfCategory a owl:ObjectProperty ;
+ls:instanceOfCategory a owl:ObjectProperty ;
rdfs:label "kategori på verket"@sv, "category of work"@en ;
:category :shorthand, :pending ;
rdfs:domain :Instance ;
owl:propertyChainAxiom ( :instanceOf :category ) .
-:hasInstanceCategory a owl:ObjectProperty ;
+ls:hasInstanceCategory a owl:ObjectProperty ;
rdfs:label "kategori"@sv, "category"@en ;
:category :shorthand, :pending ;
rdfs:domain :Work ;
owl:propertyChainAxiom ( :hasInstance :category ) .
-:originalLanguage a owl:ObjectProperty ;
+ls:originalLanguage a owl:ObjectProperty ;
rdfs:label "originalspråk"@sv, "original language"@en ;
- :category :shorthand, :pending ;
+ :category :shorthand ;
rdfs:domain :Work ;
rdfs:range :Language ;
owl:propertyChainAxiom ( :translationOf :language ) .
+
+#ls:someTitle a owl:ObjectProperty ;
+# :category ls:composite, :shorthand ;
+# skos:notation "TIT"^^ls:QueryCode ;
+# owl:propertyChainAxiom ( :translationOf :hasTitle ),
+# ( :seriesMembership :inSeries :instanceOf :hasTitle ),
+# ( :relationship :entity :hasTitle ) .
+
+#:author a owl:ObjectProperty ;
+# rdfs:label "författare"@sv, "author"@en ;
+# :category :shorthand, :pending ;
+# owl:equivalentProperty ;
+# rdfs:subPropertyOf :contributor ;
+# rdfs:range :Agent ;
+# skos:notation "FÖRF"^^ls:QueryCode ;
+# owl:propertyChainAxiom (
+# [ rdfs:subPropertyOf :contribution ; rdfs:range [ rdfs:subClassOf [ a owl:Restriction ;
+# owl:onProperty :role ;
+# owl:hasValue ] ] ]
+# :agent
+# ) .
diff --git a/sys/context/kbv.jsonld b/sys/context/kbv.jsonld
index e4a85ef5..3071a882 100644
--- a/sys/context/kbv.jsonld
+++ b/sys/context/kbv.jsonld
@@ -236,6 +236,8 @@
"bibdb:telephone": { "@container": "@set"},
"bibdb:libraryType": { "@container": "@set"},
+ "librissearch": "https://id.kb.se/ns/librissearch/",
+
"marc": "https://id.kb.se/marc/",
"marc:data": {"@container": "@list"},
diff --git a/sys/context/shared.jsonld b/sys/context/shared.jsonld
index 6f1a205e..822658dd 100644
--- a/sys/context/shared.jsonld
+++ b/sys/context/shared.jsonld
@@ -8,6 +8,8 @@
"jsonld": "http://www.w3.org/ns/json-ld#",
"fresnel": "http://www.w3.org/2004/09/fresnel#",
"kbv": "https://id.kb.se/vocab/",
+ "ls": "https://id.kb.se/ns/librissearch/",
+
"Property": "rdf:Property",
"Datatype": "rdfs:Datatype",
@@ -88,7 +90,7 @@
"langCodeFull": {"@id": "code", "@type": "ISO639-3"},
"langCodeLibrisLocal": {"@id": "code", "@type": "LibrisLocalLanguageCode"},
- "librisQueryCode": {"@id": "code", "@type": "LibrisQueryCode"},
+ "librisQueryCode": {"@id": "code", "@type": "ls:QueryCode"},
"bibdb:bibIdSearchUriByLang": {"@id": "bibdb:bibIdSearchUri", "@container": "@language"},
"bibdb:isbnSearchUriByLang": {"@id": "bibdb:isbnSearchUri", "@container": "@language"},