Print

Print


Can someone supply bibliographic examples?

How would situations like this be handled?

bf:publication [ a bf:Provider ;
            bf:providerDate "[1964]" ;
            bf:providerName [ a bf:Organization ;
                    bf:label "Bollingen Foundation" ] ;
            bf:providerPlace [ a bf:Place ;
                    bf:label "New York, N.Y. " ] ],
        [ a bf:Provider ;
            bf:copyrightDate "1964" ] ;
 or

bf:lccn [ a bf:Identifier ;
            bf:identifierScheme "lccn" ;
            bf:identifierValue "63010708" ] ;


--------------------------------------------------
From: "[log in to unmask]" <[log in to unmask]>
Sent: Tuesday, November 18, 2014 10:34 AM
To: <[log in to unmask]>
Subject: Re: [BIBFRAME] Blank nodes again

>> Blank node identifiers are essentially variables (in SPARQL they are an 
>> alternative syntax for variables)
>
> I dont think this is wrong, but in my experience it is more common to 
> think of blank nodes as specifically existentially-bound variables with a 
> scope that is the document in which they are found. So the triple:
>
> _:x :favoriteEggType :Chicken .
>
> makes the assertion, "There exists a thing, to which we will refer as 
> '_:x', but only inside this document, the :favoriteEggType of which is 
> :Chicken". If we see in the same document:
>
> _:y a :Farmer .
> _:y :hates _:x .
>
> We can read "There exists a thing, to which we will refer as '_:y', but 
> only inside this document, which is a :Farmer, and which :hates the thing 
> to which, only in this document, we are referring to as '_:x'".
>
> Or if we see:
>
> _:x :fears _:z .
>
> And _:z doesn't appear as the subject of a triple in our document, we can 
> read "There is a thing that, just inside this document, we will call 
> '_:z', and the :Weasel that inside this document we call '_:x' :fears 
> '_:z'", and so on. Because of the lack of a unique name assumption for 
> RDF, it is not defined whether the :Weasel :hates the :Farmer, or someone 
> else entirely.
>
> That is all rather awkward reading, and this is a well-known complaint 
> about blank nodes. Existential qualifiers are useful, but in mass they can 
> become confusing. It is like listening to a story told by someone who 
> cannot remember anyone's name. Often RDF isn't meant for human consumption 
> anyway, but analogous problems occur in machine processing. For example, 
> as Thomas Berger remarked:
>
>> In practice this matters when one wants to add or remove individual 
>> statements or subgraphs from graphs: When the graphs or subgraphs have 
>> blank nodes as their origin, you usually can't.
>
> Often you can't because it is very difficult to calculate exactly what 
> changes you are making in the possible interpretations of the graph. Simon 
> Spero's example shows that: we don't, as he says, know how many :Weasels 
> we actually have. And once we are no longer in the scope of our original 
> document, we can only refer to a :Weasel by some kind of query. If the 
> attributes of :Weasels don't support queries that will identify them 
> uniquely, we more-or-less lose track of them. This is bad if, for example, 
> we discover new information about our :Weasels and would like to record it 
> in a useful way.
>
> There are occasionally good reasons to use blank nodes, but here:
>
> http://richard.cyganiak.de/blog/2011/03/blank-nodes-considered-harmful/
>
> are some cautionary remarks about them from Richard Cyganiak, one of the 
> editors of the RDF standards.
>
> ---
> A. Soroka
> The University of Virginia Library
>
> On Nov 18, 2014, at 12:06 PM, Simon Spero <[log in to unmask]> wrote:
>
>> On Nov 18, 2014 11:13 AM, "Joseph Kiegel" <[log in to unmask]> 
>> wrote:
>>
>> >
>> > In RDF 1.1 Concepts and Abstract Syntax, section 3.4, we find:  "Blank 
>> > node identifiers . are always locally scoped to the file or RDF store, 
>> > and are not persistent or portable identifiers for blank nodes".  [...] 
>> > Isn't it true, then, that blank node identifiers, which are valid at 
>> > Library A, are not defined when they get to Library B?  This seems like 
>> > a problem.
>> >
>> > Is the use of blank nodes consistent with BIBFRAME's function as a 
>> > carrier?
>>
>> What the specification means is that a blank node _:x that refers to some 
>> thing in an RDF file transferred from A to B may not  refer to the same 
>> thing except during in the one use of that file.
>>
>> It may not be the name of the thing in the stores at A *or* B, and if the 
>> same file is ingested twice, it could refer to two different things that 
>> happen to have the same values for the stated properties.
>>
>> Blank node identifiers are essentially variables (in SPARQL they are an 
>> alternative syntax for variables)...
>>
>> Suppose we have the following file:
>> ---------------
>> _:x rdf:type :Weasel.
>> _:x :favoriteEggType :Chicken .
>> ----------------
>>
>> This says that there is something that is a Weasel and whose favorite 
>> type of egg is Chicken.
>>
>> If we see this twice, we cannot tell how many chicken pickin Weasels we 
>> have.
>>
>> A different file could use _:x to refer to some Chicken.
>>
>> Simon
>>
>