W3C home > Mailing lists > Public > public-lld@w3.org > November 2011

Re: Linked Library Holdings/Items

From: Jakob Voss <jakob.voss@gbv.de>
Date: Tue, 08 Nov 2011 16:58:57 +0100
Message-ID: <4EB951C1.7070900@gbv.de>
To: public-lld@w3.org
Hi,

After thinking about how to connect the Bibliographic Ontology and FRBR 
to express information about holdings/items (just add the statement 
"frbr:Item rdfs:subClassOf bibo:Document") and having updated DAIA 
ontology at http://purl.org/ontology/daia/ I'd like to answer Adrians
comments on 
http://www.gbv.de/wikis/cls/Document_Availability_Information_API_(DAIA)#DAIA_model_as_graph

On 21.10.2011 20:06, Adrian Pohl wrote:

> just a few comments on DAIA after I had a look at [0] and [1] and
> compared it with overview [2] which is product of my thesis[3]:
>
> * You don't use a "collection" class in this model, at most
> implicitely through the properties
> daia:collectedBy/daia:inCollection. Is there a specific reason for
> this? Did you consider using a class like dcmitype:Collection (which
> is especially useful for libraries with more than one collection
> which differ with regard to opening hours, location, access...)

Collection just are not relevant if you want to express information 
about availability of holdings. We could add a property chain:

{ ?org a org:Organization ; daia:inCollection ?doc } <=>
{ ?org marcrel:own [
     a dcmitype:Collection, bibo:Collection ;
     dcterms:hasPart ?doc ] } .

In plain English, daia:collectedBy/daia:inCollection directly connects 
documents and organizations, where documents are part of a collection 
owned by the organization (although I am not sure about marcrel:own).

> ** If you have the collection class it makes sense to use
> cld:isAccessedVia for relating a collection to a service. As items
> are parts of collections the access service for an item could be
> inferred for an item. If you really don't see sense in having
> statements about collections then daia:availableFor makes sense...

DAIA was designed to express availability in terms of services of
particular items (from a collection), so connecting the whole collection
would with a service would be a different statement. However there could 
be an inference rule saying: "if you can get all, you can also get a part":

{ ?col a bibo:Collection ;
    daia:availableFor ?service ;
    dcterms:hasPart ?doc } =>
{ ?doc daia:availableFor ?service } .

However this only makes sense if you treat a collection as a document 
(which I'd agree with, although bibo:Collection is not defined as 
subclass of bibo:Document). In this case:

{ ?col a bibo:Collection ; daia:availableFor ?service }
=> { ?col cld:isAccessedVia ?service } .

> * I don't get the daia:Storage class. Why would you need this? Can't
> you just use a more general class like dcterms:Location or so?

A daia:Storage is a place where holdings are stored, which is both 
org:Site and dcterms:Location. It helps to get to know that a location 
has something to do with documents and holdings.

> * Instead of daia:Service you probably could use dcmitype:Service.

I made it a subclass for the same reason. In addition to general 
services, a daia:Service has something to do with serving documents.

> * The daia:provides property is useful as there's only one similar
> property gr:hasPOS which implies the object being a "Location" -
> which does fit well with "physical" services like a loan desk or
> reference desk but not with online services like an  OPAC, an open
> data dump, a SRU interface, a chat bot etc. It might make sense to
> discriminate between online and offline services as the last have
> locations, opening hours etc.

If you explicitly want to state that some ?X is offline, just add the 
statement "?X a geo:SpatialThing". Is there really need to explicitly 
state that something is *not* offline?

> * Regarding the URI scheme for the DAIA ontology: The URIs for the
> daia:Service are confusing because the prefix version has a slash in
> it and it starts with a lower case which makes you think - by common
> practice - that it's the name of an RDF property. Did you want to put
> the superclass-subclass semantics into the URI?

I added "@prefix daiaserv: <http://purl.org/ontology/daia/service/> ." 
so the prefixed URIs look better, for instance "daiaserv:Loan".

> We probably should - like Karen proposed - establish a community
> group which aligns different approaches into a comprehensive set of
> vocabularies for best practices in describing libraries, their
> services, items, their availability, collections (?) etc. Is there a
> specific procedure for creating such a group?

One outcome could be an update of the preliminary draft

http://www.ukoln.ac.uk/metadata/dcmi/collection-application-profile/

so the Dublin Core community could be the right place. But what is wrong 
with discussing on this list? The recent discussions already helped me 
to boil down DAIA and align it with existing ontologies instead of 
creating unnecessary new classes and properties. I'd only prefer having 
an issue tracker to collect open issues such as

[ISSUE: Align Bibo and FRBR]: Proposed to make "frbr:Endeavour 
owl:equivalentClass bibo:Document", remove the disjointness constraint 
on FRBR level 1 entities and state that "frbr:Item rdfs:subClassOf 
bibo:Document".

Cheers
Jakob

-- 
Jakob Voß <jakob.voss@gbv.de>, skype: nichtich
Verbundzentrale des GBV (VZG) / Common Library Network
Platz der Goettinger Sieben 1, 37073 Göttingen, Germany
+49 (0)551 39-10242, http://www.gbv.de
Received on Tuesday, 8 November 2011 16:00:04 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 November 2011 16:00:05 GMT