Fwd: Questions about unordered list

2 views
Skip to first unread message

Markus Sabadello

unread,
Sep 1, 2015, 1:55:07 PM9/1/15
to xd...@googlegroups.com

---------- Forwarded message ----------
From: Markus Sabadello <markus.s...@gmail.com>
Date: Tue, Sep 1, 2015 at 9:54 PM
Subject: Re: Questions about unordered list
To: Ning Zhang <ni...@respectnetwork.net>
Cc: Dev <d...@respectnetwork.net>


Hello, yes nothing is wrong with this, although I am not sure exactly how the XDI2 code that creates and reads members of a collection will deal with this.

Note that we call "uuid" or "sha-256" or "cid-1" (cryptographic IDs), etc an "XDI scheme".
You can also invent your own, ideally we would document it somewhere.

Another thing, for expressing the "type" of something we normally use the $is# relation, e.g. you could do
#activity[<#detail>]<*!:cid:2015-10-01><*!:uuid:0001>/$is#/#chat

instead of
#activity[<#detail>]<*!:cid:2015-10-01><*!:uuid:0001><#type>/&/"chat"

Just a minor suggestion for improvement..

Markus

On Tue, Sep 1, 2015 at 6:12 PM, Ning Zhang <ni...@respectnetwork.net> wrote:
Markus,

It looks like an unordered list can use any uri schema in addition to the uuid schema.

I am wondering if we can use any schema as we wanted, such as:

#activity[<#detail>]<*!:cid:2015-10-01><*!:uuid:0001><#type>/&/"chat"
#activity[<#detail>]<*!:cid:2015-10-01><*!:uuid:0002><#type>/&/"search"

Thanks,
-Ning




Markus Sabadello

unread,
Sep 2, 2015, 6:17:37 AM9/2/15
to Ning Zhang, Dev, xd...@googlegroups.com
Hmm there's no special "handling" for that, it's just a relation between two XDI addresses like any other, e.g.
=markus/#friend/=ning
=markus/#member/+respectnetwork

The only "special" thing about $is# is that it means "type", e.g.
#banana/$is#/#fruit
*!:uuid:1234/$is#/#app
*!:uuid:5678/$is#/#car

Maybe your annotations can have support for mapping XDI attributes, and also for mapping XDI relations?

The difference is that XDI attributes have literal values, whereas XDI relations point to XDI identifiers.
So if you prefer to model "type" as a string literal value rather than XDI identifier, you could leave it the way it is I think...

Markus


On Wed, Sep 2, 2015 at 1:03 AM, Ning Zhang <ni...@respectnetwork.net> wrote:
Markus,

Thanks for the reply. 

Currently, the annotation does not know how to handle "$is#". Could you point some XDI document about $is# handling?

Thanks,
-Ning

=Drummond Reed

unread,
Sep 2, 2015, 11:38:02 AM9/2/15
to xd...@googlegroups.com, Ning Zhang, Dev
Let me just weigh in on Markus' last sentence, "So if you prefer to model "type" as a string literal value rather than XDI identifier, you could leave it the way it is I think...'

I would NOT do that. XDI type statements are absolutely the heart of XDI dictionaries and ontologies. So it is really really really important to make sure we're modeling Type the right way.

Below I've copied in the section of XDI Core that just got written last week. Ning, let us know if you have any questions.

Type Relations (#)

The heart of ontologies is type relationships, i.e., defining subtypes (subclasses) and supertypes (superclasses). In XDI, these relationships are expressed using XDI type statements. The concept of “type” is already represented in XDI as #, the XDI context symbol for unreserved classes. So an XDI type relation MUST be expressed using the XDI predicate #. An inverse type relation MUST be expressed with the XDI predicate $is#.

XDI type statements fall into two categories:

1.     Relationships between subclasses and superclasses. These correspond to rdf:subClassOf relations.

2.     Relationships between instances and classes. These correspond to rdf:type relations.

Since the context symbol for an XDI context already indicates whether it is a class or an instance, XDI type relations can express both categories of type statements.

Examples of superclass/subclass relations:

Subject

Predicate

Object

#food

#

#fruit

#fruit

#

#apple

#fruit

#

#banana

#fruit

#

#pear

<$string>

#

<#name>

<$string>

#

<#email>

<$string>

#

<#city>

 

Examples of subclass/superclass relations:

Subject

Predicate

Object

#fruit

$is#

#food

#apple

$is#

#fruit

#banana

$is#

#fruit

#pear

$is#

#fruit

<#name>

$is#

<$string>

<#email>

$is#

<$string>

<#city>

$is#

<$string>

 

Examples of class/instance relations:

Subject

Predicate

Object

#carpenter

#

=!:uuid:...

#church

#

+!:uuid:...

#car

#

*!:uuid:...

 

Examples of instance/class relations:

Subject

Predicate

Object

=!:uuid:...

$is#

#carpenter

+!:uuid:...

$is#

#church

*!:uuid:...

$is#

#car

 




--
You received this message because you are subscribed to the Google Groups "XDI2" group.
To unsubscribe from this group and stop receiving emails from it, send an email to xdi2+uns...@googlegroups.com.
To post to this group, send email to xd...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/xdi2/CAJF45PQpXf_hGWn1L4XktmE7bR2k8MO73rvVPxiDEJwWpH11Xg%40mail.gmail.com.

For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages