Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Item - Service modelling #30

Open
cKlee opened this issue Mar 18, 2014 · 2 comments
Open

Item - Service modelling #30

cKlee opened this issue Mar 18, 2014 · 2 comments
Labels

Comments

@cKlee
Copy link
Member

cKlee commented Mar 18, 2014

What model should be used ...
1.

$alicecopies
    daia:availableFor (
        [
            a dso:Presentation ;
            gr:hasStockKeepingUnit "HB 17 Rg 500" ;
            service:providedBy <http://ld.zdb-services.de/resource/organisations/DE-1a> ;
            gr:availableAtOrFrom [
                a gr:Location ;
                gr:name "Leesesaal" ;
                org:siteOf <http://ld.zdb-services.de/resource/organisations/DE-1a>
            ]
        ] [
            dso:Loan ;
            gr:hasStockKeepingUnit "Zsn 70488" ;
            service:providedBy <http://ld.zdb-services.de/resource/organisations/DE-1a> ;
        ]
    ) .

or

$alicecopies 
    bf:HeldMaterial ;
    dct:hasPart (
        [
            a bf:HeldItem ;
            bf:shelfMark "HB 17 Rg 500" ;
            daia:availableFor [
                a dso:Presentation ;
                service:providedBy <http://ld.zdb-services.de/resource/organisations/DE-1a> ;
                gr:availableAtOrFrom [
                    a gr:Location ;
                    gr:name "Lesesaal" ;
                    org:siteOf <http://ld.zdb-services.de/resource/organisations/DE-1a>
                ]
            ]
        ] [
            a bf:HeldItem ;
            bf:shelfMark "Zsn 70488" ;
            daia:availableFor [
                dso:Loan ;
                service:providedBy <http://ld.zdb-services.de/resource/organisations/DE-1a> ;
            ]
        ]
    ) .

1 is more compact, but 2 is more clear about items as part of the holding. 2 is more open to BIBFRAME (using bf:shelfMark not gr:hasStockKeepingUnit or schema:sku).

@nichtich
Copy link
Member

I don't fully get the difference: option 2 seems to be aligned with BIBFRAME, but the question is more how the resource with label "HB 17 Rg 500" and "Zsn 70488" refer to each other: comparable items of one document or different parts. The first case covers the assumption of comparable items of one document but the second could also be modified this way. I think the property dct:hasPart is either wrong in option 2 or it should also occur in option 1 like this:

$alicecopies dct:hasPart [ daia:availableFor [ a dso:Presentation ] ] .
$alicecopies dct:hasPart [ daia:availableFor [ a dso:Loan ] ].

If "HB 17 Rg 500" and "Zsn 70488" refer to the same physical item them dct:hasPart is wrong.

@cKlee
Copy link
Member Author

cKlee commented Mar 24, 2014

If "HB 17 Rg 500" and "Zsn 70488" refer to the same physical item them dct:hasPart is wrong.

They do not refer to the same physical item. In this case "HB 17 Rg 500" refers to a set of physical items and "Zsn 70488" to another. Assuming bf:HeldItem does not refer only to a single physical item.

Option 1 can not be used with Bibframe but option 2 can. I used dct:hasPart in absence of a Bibframe property bf:component (inverse property of bf:componentOf).

I ask this question because of the usage of gr:hasStockKeepingUnit or schema:sku is quite vague. And just imagine I want to add another service to the "Zsn 70488" part. With option 1 this get very confusing. With option 2 it is much clearer:

$holding part/component $item1 .
$item1 label/shelfMark "Zsn 70488" .
$item1 hasService $service1 .
$item1 hasService $service2 .

This way gr:hasStockKeepingUnit and schema:sku can be erased from the ontology.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants