LISTSERV mailing list manager LISTSERV 16.0

Help for BIBFRAME Archives


BIBFRAME Archives

BIBFRAME Archives


BIBFRAME@LISTSERV.LOC.GOV


View:

Message:

[

First

|

Previous

|

Next

|

Last

]

By Topic:

[

First

|

Previous

|

Next

|

Last

]

By Author:

[

First

|

Previous

|

Next

|

Last

]

Font:

Proportional Font

LISTSERV Archives

LISTSERV Archives

BIBFRAME Home

BIBFRAME Home

BIBFRAME  November 2014

BIBFRAME November 2014

Subject:

Re: [Topic] Types

From:

Simeon Warner <[log in to unmask]>

Reply-To:

Bibliographic Framework Transition Initiative Forum <[log in to unmask]>

Date:

Fri, 7 Nov 2014 09:22:28 +0900

Content-Type:

text/plain

Parts/Attachments:

Parts/Attachments

text/plain (180 lines)

To me the key motivations for expressing types explicitly are to make 
the data easy and efficient to use. To be able to "get things of type X 
meeting condition Y" seems likely to be extremely common need. Why make 
the "things of type X" part harder than it need be? If I look through 
the set of use cases we came up with for the LD4L project [1], most of 
them have some component of "finding things of type X".

It seems a fallacy to argue that, because some external data will 
require type inference to be used with bf data, the bf data should not 
have explicit typing.

I think a less important but not insignificant secondary reason is that 
it makes the data and model easier to grok. Karen suggests this is an 
unhelpful crutch: "My impression is that the primary use of rdf:type is 
to make data creators feel like they've created a 'record structure' or 
graph based on the type." but I think the additional clarity of intent 
is useful (and such redundancy permits various sorts of checks). IMO, 
one of the costs/downsides of RDF is complexity/subtlety to understand 
(see discussions on this list to make that plain!) and so anything we 
can do to make this less of a problem with bf is good.

2 yen,
Simeon


[1] https://wiki.duraspace.org/display/ld4l/LD4L+Use+Cases

On 11/7/14, 6:33 AM, Karen Coyle wrote:
> On 11/6/14 12:12 PM, [log in to unmask] wrote:
>>> bf:workTitle with domain=bf:Work
>>>
>>> makes these two statements equivalent, although in #2 you must first
>>> infer the type of :X from the predicate "bf:workTitle":
>>>
>>> :X a bf:Work ;
>>>    bf:worktitle [blah] .
>>>
>>> :X bf:workTitle [blah] .
>>>
>>> In both cases, the type of :X is bf:Work.
>>
>> This is predicated on the operation of an inference regime, presumably
>> RDFS or stronger. It is not true under plain RDF entailment.
>>
>> It's important to notice that assumption when it comes into play. RDF
>> processing does not normally make it, because it is expensive, the
>> expense varying with the strength of inference regime. For a strong
>> regime and for applications that require processing with strong
>> guarantees about response time, the expense can be prohibitive. It is
>> possible to make inference a requirement for Bibframe applications,
>> but I agree with Rob Sanderson: that would be a mistake. It should be
>> possible for a machine to process Bibframe without engaging such
>> machinery, and I say that even though I believe very strongly that
>> inference is the most important frontier for these technologies.
>>
>> ---
>> A. Soroka
>> The University of Virginia Library
>
> I don't at disagree, although in other venues I am seeing use of
> inferencing, at least experimentally. But if you *do* include domains
> and ranges for the properties in your ontology, then they should not
> return inconsistencies when presented to a reasoner if someone *does*
> wish to employ inferencing. Having those defined in the ontology means
> that you support inferencing for those who wish to use it. Otherwise,
> why even include domains and ranges in your ontology?
>
> And note that BF uses rdfs and domains and ranges on some properties:
>
>    <rdf:Property rdf:about="http://bibframe.org/vocab/contentCategory">
>      <rdfs:domain rdf:resource="http://bibframe.org/vocab/Work"/>
>      <rdfs:label>Content type</rdfs:label>
>      <rdfs:range rdf:resource="http://bibframe.org/vocab/Category"/>
>      <rdfs:comment>Categorization reflecting the fundamental form of
> communication in which the content is expressed and the human sense
> through which it is intended to be perceived.</rdfs:comment>
>    </rdf:Property>
>
> You can't prevent anyone from using reasoning on the data. You still
> have to get it right.
>
> kc
>
>>
>> On Nov 6, 2014, at 2:46 PM, Karen Coyle <[log in to unmask]> wrote:
>>
>>> On 11/6/14 8:00 AM, Simon Spero wrote:
>>>> On Nov 6, 2014 10:10 AM, "Karen Coyle" <[log in to unmask]> wrote:
>>>>
>>>>> If the bf:workTitle were of type bf:Work instead of bf:Title, you
>>>>> would get:
>>>>>
>>>>> <X> rdf:type bf:Work .
>>>>> <X> bf:workTitle _:aa .
>>>>> _:aa rdf:type bf:Work .
>>>>> _:aa bf:titleValue "Here's my title" .
>>>>> Does that clear it up?
>>>> Ah- now I think I understand-when you are talking about a property
>>>> being of a certain type, you are talking about the range of the
>>>> property, not the type of the property itself (ie the thing named
>>>> bf:workTitle. Did it clear up? :-)
>>>>
>>> No, actually, I'm talking about the domain of properties, not the
>>> range. The domain of the property asserts "instance of class" on the
>>> subject of the property relation. So
>>>
>>> bf:workTitle with domain=bf:Work
>>>
>>> makes these two statements equivalent, although in #2 you must first
>>> infer the type of :X from the predicate "bf:workTitle":
>>>
>>> :X a bf:Work ;
>>>    bf:worktitle [blah] .
>>>
>>> :X bf:workTitle [blah] .
>>>
>>> In both cases, the type of :X is bf:Work.
>>>
>>> For others, perhaps, note that an subject (":X" here) can be of more
>>> than one type. So there's nothing wrong with saying:
>>>
>>> :X a bf:Work;
>>>     a bf:mapType;
>>>     a bf:digitalObject .
>>>
>>> if you want to do that. And those types could either be explicit ("a
>>> bf:xxx") or inferred. The latter could take advantage of something like
>>>
>>> bf:coordinates domain=mapType
>>> bf:digForm domain=digitalObject
>>>
>>> And an instance that goes like:
>>>
>>> :X a bf:Work;
>>>     bf:coordinates "blah" ;
>>>     bf:digForm <URI-for-PDF> .
>>>
>>> That's probably not how you'd do forms, but it's the example that
>>> came to mind.
>>>
>>> What this does mean is that you have to be careful what domains you
>>> define for your properties, because they add semantics to your
>>> subjects. (The most visible way to test this, IMexperience, is by
>>> defining classes as disjoint and then mixing properties from those
>>> classes in a single graph. Reasoners come back with an "inconsistent"
>>> conclusion, telling you your data doesn't match your ontology.)
>>>
>>> kc
>>>
>>>
>>>
>>>> If the range of workTitle is declared to Work, then the value of the
>>>> property as well as the subject of the property would also be an
>>>> instance of bf:Work.
>>>>
>>>> Is a goal to treat titles as Works in their own right, and to be
>>>> able to have titleValue asserted directly on X?
>>>>
>>>> Is a goal to find triples that may be reachable from  instances of
>>>> Work? In that situation, SPARQL 1.1 sub queries or property paths
>>>> may do some of the work.
>>>>
>>>> Outside of SPARQL, some approaches to serving linked data return
>>>> closely related entities alongside the base object, trading off
>>>> bandwidth for latency or server load. id.loc.gov does this quite a
>>>> bit ;the work on linked data fragments looks to combine this with
>>>> client side query processing.
>>>>
>>>> Simon
>>>>
>>> --
>>> Karen Coyle
>>>
>>> [log in to unmask] http://kcoyle.net
>>>
>>> m: +1-510-435-8234
>>> skype: kcoylenet/+1-510-984-3600
>>>
>

Top of Message | Previous Page | Permalink

Advanced Options


Options

Log In

Log In

Get Password

Get Password


Search Archives

Search Archives


Subscribe or Unsubscribe

Subscribe or Unsubscribe


Archives

August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
December 2011
November 2011
October 2011
September 2011
July 2011
June 2011

ATOM RSS1 RSS2



LISTSERV.LOC.GOV

CataList Email List Search Powered by the LISTSERV Email List Manager