Theodore Gerontakos kirjoitti 26.10.2017 klo 00:04:
> The following assertion:
> <WorkA> bf:relationship [
> bf:relatedTo <WorkB> ]
> ...asserts that the unnamed "thing" represented by the blank node is
> related to <WorkB>. But the blank-node-thing is not related to <WorkB>,
> <WorkA> is related to <WorkB>. How could an application understand
> anything else without great effort?
At first I thought you're reading too much into the bf:relatedTo
relationship, but you have a point. bf:relatedTo is a superproperty of
many other relationships between Works, Instances and Expressions. It's
not ideal to reuse the same property for this case. A separate property
such as bf:relationshipTarget (where the domain is bf:Relationship)
would be more appropriate IMHO.
> It seems like we want to qualify a relation. I’ve seen that discussion
> before; see for example Dodds and Davis, "Qualified Relation"
> (http://patterns.dataincubator.org/book/qualified-relation.html). For
> Dodds/Davis, there are only two solutions. Are they correct?
Other than the above point about using bf:relatedTo in different
contexts and the fact that bf:relationship is directed from the work to
the relationship and not the other way around, the example you give is
equivalent to the Diagnosis pattern by Dodds and Davis. (The Marriage
pattern by D&D is slightly different because it represents a symmetric
> The way I see it, the proposed BIBFRAME solution, though admirable
> because it attempts to create a reusable structure for all qualified
> relations, inaccurately expresses the relation.
The bf:relatedTo property is used in so many contexts that its semantics
are rather vague.
> I don’t think there’s an elegant way to create a re-usable pattern for
> all qualified relations. I hope somebody can prove me wrong!
There are several patterns that can be applied more or less generally:
* The Qualified Relationship patterns you mention
* The Wikidata/Wikibase model (rather verbose in RDF, but may still be
useful especially when dealing with data that lives in Wikidata)
* Using a blank node with rdf:value (typically when the value is a
literal and you want to enrich the statement with more information, for
example the unit of a measurement)
* Using named graphs / quads so that one can add extra information about
particular (sub)graphs (often used for tracking provenance of triples)
* Reified statements (seldom used nowadays)
But choosing which pattern to apply and specifying the details has to be
decided on a case by case basis.
D.Sc. (Tech), Information Systems Specialist
National Library of Finland
P.O. Box 26 (Kaikukatu 4)
00014 HELSINGIN YLIOPISTO
Tel. +358 50 3199529
[log in to unmask]