Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 87 additions & 6 deletions source/vocab/display.jsonld
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
"@base": "https://id.kb.se/vocab/display",
"@vocab": "https://id.kb.se/vocab/",
"marc": "https://id.kb.se/marc/",
"librissearch": "https://id.kb.se/ns/librissearch/",
"lensGroups": {"@id": "@graph", "@container": "@index"},
"lenses": {"@reverse": "fresnel:group", "@container": "@index"},
"showProperties": {"@id": "fresnel:showProperties", "@container": "@list", "@type": "@vocab"},
Expand Down Expand Up @@ -783,7 +784,6 @@
"summary",
"immediateAcquisition",
"availability",
"shelfLabel",
{ "inverseOf": "itemUsed" },
{ "inverseOf": "hasComponent" }
]
Expand Down Expand Up @@ -1476,6 +1476,43 @@
"name",
"qualifier"
]
},
"Title": {
"@type": "fresnel:Lens",
"classLensDomain": "Title",
"fresnel:extends": {"@id": "Title-chips"},
"showProperties": [ "fresnel:super" ]
},
"KeyTitle": {
"@type": "fresnel:Lens",
"classLensDomain": "KeyTitle",
"fresnel:extends": {"@id": "KeyTitle-chips"},
"showProperties": [ "fresnel:super" ]
},
"TitlePart": {
"@type": "fresnel:Lens",
"classLensDomain": "TitlePart",
"fresnel:extends": {"@id": "TitlePart-chips"},
"showProperties": [ "fresnel:super" ]
},
"ProvisionActivity": {
"@type": "fresnel:Lens",
"classLensDomain": "ProvisionActivity",
"fresnel:extends": {"@id": "ProvisionActivity-chips"},
"showProperties": [ "fresnel:super" ]
},
"Language": {
"@type": "fresnel:Lens",
"classLensDomain": "Language",
"fresnel:extends": {"@id": "Language-chips"},
"showProperties": [ "fresnel:super" ]
},
"Concept": {
"@type": "fresnel:Lens",
"classLensDomain": "Concept",
"showProperties": [
{"alternateProperties": ["prefLabel", "singularLabel", "label", "termComponentList", "code"]}
]
}
}
},
Expand All @@ -1485,7 +1522,7 @@
"lenses": {
"Record": {
"fresnel:extends": {"@id": "Record-chips"},
"showProperties": [ "fresnel:super", "bibliography", "created" ]
"showProperties": [ "fresnel:super", "bibliography" ]
},
"Item": {
"fresnel:extends": {"@id": "Item-chips"},
Expand All @@ -1494,9 +1531,53 @@
"subject",
"summary",
"hasComponent",
"availability",
"physicalLocation",
"shelfLabel"
{
"fresnel:mergeProperties": [
"cataloguersNote",
"custodialHistory",
{
"@type": "fresnel:fslselector",
"@value": "hasNote/*/label"
},
{
"@type": "fresnel:fslselector",
"@value": "marc:hasCopyAndVersionIdentificationNote/*/marc:itemCondition"
},
{
"@type": "fresnel:fslselector",
"@value": "marc:hasBindingInformation/*/label"
},
{
"@type": "fresnel:fslselector",
"@value": "marc:hasTextualHoldingsBasicBibliographicUnit/*/marc:cataloguersNote"
},
{
"@type": "fresnel:fslselector",
"@value": "marc:hasTextualHoldingsBasicBibliographicUnit/*/marc:publicNote"
}
],
"fresnel:use": "librissearch:itemNote"
},
{
"fresnel:mergeProperties": [
"shelfLabel",
"physicalLocation",
"shelfControlNumber",
{
"@type": "fresnel:fslselector",
"@value": "shelfMark/*/label"
},
{
"@type": "fresnel:fslselector",
"@value": "availability/*/label"
}
],
"fresnel:use": "librissearch:shelf"
},
{
"@type": "fresnel:fslselector",
"@value": "meta/*/created"
}
]
},
"Person": {
Expand Down Expand Up @@ -2081,4 +2162,4 @@
}
}
}
}
}
59 changes: 41 additions & 18 deletions source/vocab/libris-search-experimental.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix ls: <https://id.kb.se/ns/librissearch/> .
@prefix marc: <https://id.kb.se/marc/> .

### Extended definitions for Libris Search ###

Expand All @@ -22,6 +23,14 @@

:hasTitle rdfs:subPropertyOf ls:title . # See ./details.ttl for full definition of :hasTitle

:shelfControlNumber rdfs:subPropertyOf ls:shelf . # See ./items.ttl for full definition of :shelfControlNumber
:shelfLabel rdfs:subPropertyOf ls:shelf . # See ./items.ttl for full definition of :shelfLabel
:physicalLocation rdfs:subPropertyOf ls:shelf . # See ./items.ttl for full definition of :physicalLocation

:cataloguersNote rdfs:subPropertyOf ls:itemNote . # See ./details.ttl for full definition of :cataloguersNote
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Better if we say something like ls:itemNote ls:includes :cataloguersNote, :custodialHistory?
I don't think we can keep the current construction since :cataloguersNote has a wider domain than the super-property ls:itemNote...
Also nicer to keep all the "components" of a merged property in one place.

:custodialHistory rdfs:subPropertyOf ls:itemNote . # See ./items.ttl for full definition of :custodialHistory


### New definitions for Libris Search ###

ls:QueryCode a rdfs:Datatype .
Expand All @@ -30,6 +39,10 @@ ls:composite a skos:Collection ;
rdfs:label "composite"@en, "sammansatt"@sv ;
:code "composite" .

ls:merged a skos:Collection ;
rdfs:label "merged"@en, "sammanslagen"@sv ;
:code "merged" .

ls:itemHeldBy a owl:ObjectProperty ;
rdfs:label "Bibliotek"@sv, "Library"@en ;
:category :shorthand, :pending ;
Expand Down Expand Up @@ -103,14 +116,34 @@ ls:title a owl:ObjectProperty ;
( :relationship :entity :hasTitle ) .

ls:itemShelf a owl:DatatypeProperty ;
:category ls:composite ; # TODO: ls:merged?
rdfs:label "hyllsignum"@sv, "item shelf"@en ;
skos:notation "WHYL"^^ls:QueryCode ;
owl:propertyChainAxiom ( :hasItem :availability :label ),
( :hasItem :shelfMark :label ),
( :hasItem :shelfControlNumber ),
( :hasItem :shelfLabel ),
( :hasItem :physicalLocation ) .
:category :shorthand ;
skos:notation "WHYL"^^ls:QueryCode ;
rdfs:label "hyllsignum"@sv, "item shelf"@en ;
rdfs:domain :Instance ;
owl:propertyChainAxiom ( :hasItem ls:shelf ) .

ls:shelf a owl:DatatypeProperty ;
:category ls:merged ;
rdfs:label "hylla"@sv, "shelf"@en ;
rdfs:domain :Item ;
owl:propertyChainAxiom ( :availability :label ), ( :shelfMark :label ) .

ls:hasItemNote a owl:DatatypeProperty ;
:category :shorthand ;
skos:notation "BANM"^^ls:QueryCode ;
rdfs:label "har beståndsanmärkning"@sv, "has item note"@en ;
rdfs:domain :Instance ;
owl:propertyChainAxiom ( :hasItem ls:itemNote ) .

ls:itemNote a owl:DatatypeProperty ;
:category ls:merged ;
rdfs:label "beståndsanmärkning"@sv, "item note"@en ;
rdfs:domain :Item ;
owl:propertyChainAxiom ( :hasNote :label ),
( marc:hasCopyAndVersionIdentificationNote marc:itemCondition ),
( marc:hasBindingInformation :label ),
( marc:hasTextualHoldingsBasicBibliographicUnit marc:cataloguersNote ),
( marc:hasTextualHoldingsBasicBibliographicUnit marc:publicNote ) .

ls:itemCreated a owl:DatatypeProperty ;
:category :shorthand ;
Expand Down Expand Up @@ -165,16 +198,6 @@ ls:itemCreated a owl:DatatypeProperty ;
# [ rdfs:subPropertyOf :classification ; rdfs:range :ClassificationLcc ]
# :code ) .
#
#ls:itemNote a owl:DatatypeProperty ;
# :category ls:merged ;
# rdfs:label "anmärkning i bestånd"@sv, "item note"@en ;
# skos:notation "BANM"^^ls:QueryCode ;
# owl:propertyChainAxiom ( :hasItem :hasNote :label ),
# ( :hasItem :cataloguersNote ),
# ( :hasItem :custodialHistory ),
# ( :hasItem marc:hasCopyAndVersionIdentificationNote marc:itemCondition ),
# ( :hasItem marc:hasBindingInformation :label ),
# ( :hasItem marc:hasTextualHoldingsBasicBibliographicUni marc:cataloguersNote ) .
#
#:author a owl:ObjectProperty ;
# rdfs:label "författare"@sv, "author"@en ;
Expand Down