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] XDI TC Telecon Friday 2014-01-10


Markus, given that I was not able to attend, I just want to commend you for an excellent set of minutes. They communicated a great deal of information and did it very economically.

I look forward to next Friday's call.

=Drummond 


On Fri, Jan 10, 2014 at 11:04 PM, Markus Sabadello <markus.sabadello@xdi.org> wrote:

XDI TC Minutes


Following are the minutes of the unofficial telecon of the XDI TC at:


Date:  Friday, 10 January 2014 USA
Time:  09:00AM - 10:30AM Pacific Time (16:00-17:30 UTC)

ATTENDING

Markus Sabadello
Dan Blum
Andy Dale
Les Chasen

REGRETS

Drummond Reed

AGENDA

NEWS & UPDATES

XDI Tutorial

Dan and Markus went over the XDI Tutorial Markus published earlier this week:

http://tutorial.xdi.org/


Dan commented that it was very helpful, and he offered some feedback. One improvement would be to add a cover slide in the beginning, and a few more introductory words about the high-level vision behind XDI, and about what problems it is intended to solve.

PRESENTATIONS/DISCUSSIONS

Next Steps on Working Drafts

We did not talk about this topic.

“Membership” Statements

Drummond and Markus have worked more on how to express membership of an individual with an organization, including information such as a membership number, membership expiration date, and premium memberships

EXAMPLE:

WHO IS A MEMBER OF 0000?

[@]!:uuid:0000/+member/[=]!:uuid:1111

[@]!:uuid:0000/+member/[=]!:uuid:2222

[@]!:uuid:0000/+member/[=]!:uuid:3333

[@]!:uuid:0000/+member/[=]!:uuid:4444

[@]!:uuid:0000/+member/[=]!:uuid:5555


WHAT ORGs IS 1111 A MEMBER OF?

IS 1111 A MEMBER OF 0000?

[=]!:uuid:1111/$is+member/[@]!:uuid:0000


WHAT IS 1111’s MEMBERSHIP NUMBER?

[@]!:uuid:0000/+member/([=]!:uuid:1111<+member>&/&/0)


WHO IS MEMBER NUMBER 0?

[@]!:uuid:0000[+member]#0/$is/[=]!:uuid:1111


WHAT IS THE MEMBERSHIP REGISTRATION TIME?

[@]!:uuid:0000/+member/([=]!:uuid:1111<+registration><$t>&/&/"2014-01-01T12:00:00Z")


WHAT IS THE MEMBERSHIP EXPIRATION TIME?

[@]!:uuid:0000/+member/([=]!:uuid:1111<+expiration><$t>&/&/"2015-01-01T12:00:00Z")


We agreed that there is a lot of redundancy in these statements. The reason for this is that it makes it possible to answer a range of different questions (see above). We agreed that if XDI had more advanced querying mechanisms than just the simple $get operation, then maybe some of the redundant statements would not be needed.


This resulted in a longer discussion about different conceptual approaches to storing data in an XDI graph so that it can be queried in a number of different ways.


Approach #1: Many statements. This is basically the above approach where multiple (partially redundant) statements are used to express a membership relation.


Approach #2: Few statements and query language. With this approach, only a minimal amount of statements would be included in the XDI graph, and a more advanced query language would be invented that can retrieve data in a number of different ways.


Approach #3: Automatic indices. This could be a variation of either approach #1 or approach #2, and the XDI server would automatically create indices of context nodes in the graph that might at some point become the target of a query.


The above example of membership information also reminded us of a use case Animesh had presented a few weeks ago, in which one may want to filter a large collection of e-mails in a graph in a number of different ways (e.g. to just retrieve “important” ones). This would again involve storing additional statements, in this case a collection of “important” e-mails which would link to the “main” collection using $ref  arcs:


 =markus[+email]!:uuid:1234<+subject>
 =markus[+email]!:uuid:1234<+body>
 =markus[+email]!:uuid:2345<+subject>
 =markus[+email]!:uuid:2345<+body>
 =markus[+email]!:uuid:5678<+subject>
 =markus[+email]!:uuid:5678<+body>
 =markus[+email]!:uuid:5678<+important>&/&/true
 =markus+important[+email]!:uuid:8746/$ref/=markus[+email]!:uuid:5678

Another insight we had was that with our current XDI operations, sequential numbering (e.g. of instances in a collection) is not trivial to do, since XDI servers do not have built-in support for sequences. Therefore the responsibility of maintaining a correct sequence number would lie within the responsibility of XDI clients, and race conditions and inconsistencies may occur.


In many use cases however it seems that instead of sequential numbering, one could add timestamps to instances of a collection, which would achieve a similar effect.

Boolean and Integer Results for $get Operations

We discussed a variation of the $get operation that would not return the actual results from the XDI graph, but instead:

  • $get$boolean: Return either true or false, depending on whether there are any results or not

  • $get$int: Return the number of result statements

Authority-Relative Link Contracts

We reviewed updates to the link contract patterns to ensure that link contracts are authority-relative:


  https://wiki.oasis-open.org/xdi/LinkContractPattern


We did a quick example of the “old” and “new” link contract patterns:


GENERIC LINK CONTRACT:

  =alice$to@acmebread$from+newsletter$do

ROOT LINK CONTRACT:

  OLD:  $do
  NEW:  =alice$to=alice$from$do

PUBLIC LINK CONTRACT:

  OLD:  $public$do
  NEW:  =alice$to$anon$from$public$do

The “Unauthorized $ref Problem” and “Unbounded $set Problem”

We again failed to clearly formulate a detailed solution to these two problems, but we recalled some of the earlier considerations and specifically had the following thoughts:


  • With the introduction of authority-relative link contracts, these problems seem to be easier to solve, since there is now a notion of $ref arcs that “cross authorities” and $ref arcs that do not.

  • We recalled that the solution to these problems probably in some way involves specializations of the $set permission such as $set{$ref}. Andy added that in previous generations of XDI, there also used to be specialized permissions such as $set$literal, which would allow the manipulation of literal values, but not any structural changes to the graph.

“Forwarding” of Messages by a Server

We did not discuss this topic.

DECISION POINTS FOR THIS CALL

None scheduled.


DECISION POINT QUEUE REVIEW

The decision queue stack is shown on the following three auto-generated Category pages:


  https://wiki.oasis-open.org/xdi/CategoryLastCall

  https://wiki.oasis-open.org/xdi/CategoryCurrent

  https://wiki.oasis-open.org/xdi/CategoryHighPriority


See also this list of proposals that need to be developed:


  https://wiki.oasis-open.org/xdi/XdiPendingIssues


NEXT CALL

The next call is next week at the regular time.





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