Re: A use case for anon nodes - action from telecon

>I asked my colleagues if they had any use cases for anon resources
>that might help us with this issue.  What follows is an (edited)
>response I received.
>
>
>Consider the case of describing services and being able to place adverts and
>offers for such services. For example here is an (massively simplified) advert
>requesting a service (all uri prefixes dropped for clarity):
>
>#advert123 :role "buyer";
>           :description [:product :roses;
>                         :quantity [:units :kg; :minValue "100"]].
>
>And here is a supplier who can offer a range of services:
>
>#advert456 :role "seller";
>           :description [:product :roses;
>                         :quantity [:units :kg; :maxValue "500"]].
>
>Neither is a specific service. The "buyer" advert is essentially a template.

Well, is it a template or is it RDF?? That word 'template' means, 
presumably, that this is meant to be interpreted as something that is 
not making an assertion about someTHING, but rather a general 
assertion about a whole lot of things at once (ANY quantity of roses 
less than 100 kg) or maybe as a 'schema' which isnt about anything as 
it stands, but can be made to be about something by filling a value 
to instantiate the 'variable' in the template by suitable matching of 
some kind (eg [:units :kg; :minvalue "100"] might 'match' [:units 
:kg; :exactvalue "53"] ).  Either way, it goes beyond the scope of 
the RDF M&S.

There isn't anything in RDF 1.0 to support any notion of a variable 
than can be instantiated or matched. There probably ought to be, but 
there isn't.

>The
>seller is offering the existence of at least one service that 
>matches a template
>- he may have many actual instances on offer which differ by 
>location, qos etc.

He may, but that isn't what his RDF says. It just says that a 
(singular) quantity of roses exists.  He might just have one rose, 
and that would make his assertion true.

>
>Here is an offer of specific service:
>
>#offer890 :inResponseTo #advert123;
>          :instanceOf   #advert456;
>          :service #service42
>

What does "instanceOf" mean? Where in RDF does the instantiation take 
place? How are variable bindings done and what do they mean?

>#service42 :product :roses;
>           :quantity [:units :kg; :value "200"]];
>           :deliveryTime [:units :days; :value "2"];
>           :deliveryMethod "TNT";
>           etc
>           .
>
>Now. If we don't have anonymous nodes then we have the following problems.
>
>(1) In the seller advert it would appear that the seller is only advertising a
>single specific (but under-specified) service, #anon12345 or whatever, which
>would be hard to distinguish from an actual service instance like #service42.
>
>(2) Similarly in the buyer advert instead of describing a template, giving the
>service a URI would make it appear that I am looking for a specific 
>service with
>that URI.

We have these problems - if they are seen as problems - with or 
without anonymous nodes.

>
>This is clearly similar to DanC's book buying example.

And suffers from the same snags. If the existentials can be 
instantiated then they arent being asserted, but must be in queries, 
which makes them equi-expressive with universals in assertions, which 
is outside the RDF model .

Pat Hayes

---------------------------------------------------------------------
(650)859 6569 w
(650)494 3973 h (until September)
phayes@ai.uwf.edu 
http://www.coginst.uwf.edu/~phayes

Received on Monday, 23 July 2001 22:00:52 UTC