- From: Luc Moreau <l.moreau@ecs.soton.ac.uk>
- Date: Tue, 09 Apr 2013 12:08:30 +0100
- To: Graham Klyne <graham.klyne@zoo.ox.ac.uk>
- CC: "public-prov-wg@w3.org" <public-prov-wg@w3.org>
Hi Graham,
My preference has always been to apply the QualifiedPattern to all prov
relations, including this one,
but that's not the direction the group decided to follow.
Therefore the current solution is a compromise.
As far as your suggestion is concerned, see below some comment.
On 04/09/2013 10:29 AM, Graham Klyne wrote:
> Hi Luc,
>
> Just for the record, I'm OK with these changes. I.e. no blockers.
> But in the spirit of exploration, I'll pursue one of your responses a
> little further...
>
> On 08/04/2013 22:24, Luc Moreau wrote:
>> > Section 5
>> >
>> > I'm not understanding the motivation or purpose of the constraint
>> >
>> > IF mentionOf(e, e1, b1) and mentionOf(e, e2, b2), THEN e1=e2
>> and b1=b2.
>> >
>> > e.g. It seems to me that if bundle b1 has specializationOf(e1, e2) or
>> > mentionOf(e1, e2, b2) then it would make sense for e to be a
>> specialization of
>> > distinct entities e1 and e2.
>> >
>> > Rather than just e1 = e2, is it not sufficient to allow:
>> >
>> > specializationOf(e1,e2) OR specializationOf(e2,e1) OR e1 = e2
>> >
>> > ?
>>
>>
>> The reason for this constraint is the rdf encoding in two separate
>> properties.
>>
>> With a ternary relation, we could express
>> mentionOf(e, e1, b1) and mentionOf(e, e2, b2).
>>
>> In rdf, we would have
>> e prov:mentionOf e1
>> e prov:asInBundle b1
>> e prov:mentionOf e2
>> e prov:asInBundle b2
>>
>> which would allow us to express
>> mentionOf(e, e1, b2) and mentionOf(e, e2, b1)
>> but nothing requires e1 to be described in b2 and e2 in b1.
>
> Ah, yes, I'd forgotten that aspect. But I can't help wondering if
> this is a case of the tail wagging the dog: designing semantics to fit
> a particular syntactic pattern for a particular representation.
>
> An alternative RDF representation, arguably more in line with the
> published best-practice note for dealing with n-tuples
> (http://www.w3.org/TR/swbp-n-aryRelations/#pattern1), might be:
>
> e prov:mentionOf
> [ prov:specializationOf e1 ; prov:asInBundle b1 ] ,
> [ prov:specializationOf e2 ; prov:asInBundle b2 ] .
>
> Or, equivalently:
>
> e prov:mentionOf _:m1, _:m2 .
> _:m1 prov:specializationOf e1 ; prov:asInBundle b1 .
> _:m2 prov:specializationOf e2 ; prov:asInBundle b2 .
>
> Corresponding to
>
> mentionOf(e, e1, b1)
You now have introduced a new resource _:m1, which is itself an entity.
So, for mentionOf(e, e1, b1), we would have
e, _:m1, e1, b1.
I am not sure what this _:m1 is. How would you describe this entity?
wht fixed
face does it have?
> mentionOf(e, e2, b2)
>
> where prov:mentionOf in the RDF might even be replaced with
> prov:specializationOf, and prov:asInBundle with prov:has_provenance.
>
> (In constructing this example, I didn't set out to re-open the other
> point I raised about the need for a new relation, but the introduction
> of the extra RDF node here provides a place to hang the additional
> aspect(s) associated with the two mentions.)
>
The additional node, as you suggest, is the right approach. But it is
what the qualified pattern is already offering.
It would be awkward, in a same ontology, to have two different patterns
to encode n-ary relations.
Luc
> #g
> --
>
--
Professor Luc Moreau
Electronics and Computer Science tel: +44 23 8059 4487
University of Southampton fax: +44 23 8059 2865
Southampton SO17 1BJ email: l.moreau@ecs.soton.ac.uk
United Kingdom http://www.ecs.soton.ac.uk/~lavm
Received on Tuesday, 9 April 2013 11:08:58 UTC