OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

xdi message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [xdi] Link Contracts revised


Hey Giovanni,

I think the challenge we have here is to try and align the theoretical / scientific background (the XDI metagraph model) with practical, intuitive patterns that are easy to use. I don't know if that can always be done. I assume when Drummond wrote those link contract examples, he probably tried to make it as simple as possible :)

From a practical perspective, I want to be able to easily write and evaluate link contracts, e.g. I want a list of all subjects to which a link contract grants permissions.

First of all, I don't think $has should sometimes produce subjects with ( ), and sometimes not. It seems in your examples the parentheses get added "automatically".

For your solution #1, I think to produce subject =drummond+friend$contract$sig(=web*markus) I would have to construct my link contracts like this:

=drummond+friend$contract$sig
       $has
              (=web*markus)

And for your solution #2, to produce subject =drummond+friend$contract(=web*markus$sig), I think I would have to do this:

=drummond+friend$contract
       $has
               (=web*markus$sig)

Both patterns look a bit more complicated than the original, but I guess they would work too.. Not sure what makes most sense from a theoretical perspective.. I'm basically happy with anything that can be parsed and understood by an XDI endpoint that has to evaluate the link contracts.

Markus

On Mon, Nov 9, 2009 at 3:46 AM, Giovanni Bartolomeo <giovanni.bartolomeo@uniroma2.it> wrote:
Hello,

I was revising link contracts and I've noted the following two issues:

We have this example:

=drummond+friend$contract$sig
       $has
               =web*markus     <-- Drummond adds Markus to this contract -->

Thus a new subject is created:

=drummond+friend$contract$sig=web*markus

ISSUE#1: since $has is left associative (+a+b+c <==> ((+a/+b)/+c)), see mail "Key implications of new metagraph $has definition" (May 4, 2009) this statement is parsed as =web was part of the composite subject =drummond+friend$contract$sig=web, and not part of =web*markus.
To solve this, my proposal is to use xref, as follow:

=drummond+friend$contract$sig(=web*markus)

ISSUE#2: we have now the following entailment (+x+y==>+x+y/$is$a/+y):

=drummond+friend$contract$sig(=web*markus)
       $is$a
               =web*markus

this sounds a bit odd. My proposal is to change the original statement as follow

=drummond+friend$contract
       $has
               =web*markus$sig <-- Drummond adds Markus to this contract -->

This way we have the new composite subject =drummond+friend$contract(=web*markus$sig) which correctly entails

=drummond+friend$contract(=web*markus$sig)
       $is$a
               =web*markus$sig

There would be more to say about the relationship btw $contract$sig and =drummond+friend$contract(=web*markus$sig), OO people (like myself) could see inheritance and polimorphism applied here, but for the moment just stop here, waiting for your comments.

Kind Regards,
Giovanni

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.


---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that
generates this mail.  Follow this link to all your TCs in OASIS at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]