An exploration of rww.io, and musing about ldp

1) At rww.io, when I look at the "directory" structure at
http://bshambaugh.rww.io/storage/bigbear_thoughts/ch1/ I see for the first
three columns:

Name                                Size
Type

../                                         -
Directory

post1                                 610.00B                      RDF

post2                                 589.00B                      RDF

when I pull the markup I get:

curl http://bshambaugh.rww.io/storage/bigbear_thoughts/

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

<>
    <http://ns.rww.io/ldpx#ldprPrefix> "post" ;
    <http://purl.org/dc/terms/title> "Home" ;
    a <http://rdfs.org/sioc/ns#Container>, <
http://www.w3.org/ns/ldp#BasicContainer>, <
http://www.w3.org/ns/ldp#Container>, <
http://www.w3.org/ns/posix/stat#Directory> ;
    <http://www.w3.org/ns/ldp#contains> <.acl.post1>, <.acl.post2>,
<post1>, <post2> ;
    <http://www.w3.org/ns/posix/stat#mtime> 1399497522 ;
    <http://www.w3.org/ns/posix/stat#size> 4096 .

<.acl.post1>
    a <http://www.w3.org/2000/01/rdf-schema#Resource> ;
    <http://www.w3.org/ns/posix/stat#mtime> 1399088212 ;
    <http://www.w3.org/ns/posix/stat#size> 543 .

<.acl.post2>
    a <http://www.w3.org/2000/01/rdf-schema#Resource> ;
    <http://www.w3.org/ns/posix/stat#mtime> 1399497522 ;
    <http://www.w3.org/ns/posix/stat#size> 543 .

<post1>
    a <http://rdfs.org/sioc/ns#Post>, <
http://www.w3.org/2000/01/rdf-schema#Resource> ;
    <http://www.w3.org/ns/posix/stat#mtime> 1399088210 ;
    <http://www.w3.org/ns/posix/stat#size> 610 .

<post2>
    a <http://rdfs.org/sioc/ns#Post>, <
http://www.w3.org/2000/01/rdf-schema#Resource> ;
    <http://www.w3.org/ns/posix/stat#mtime> 1399497520 ;
    <http://www.w3.org/ns/posix/stat#size> 589 .

---------

I am assuming that the first couple of lines are calling it a directory and
a container? (see: http://www.w3.org/TR/ldp/#ldpbc)

2) When I go to http://bshambaugh.rww.io/storage/bigbear_thoughts/following
I get an RDF file.


Using curl gives me:

curl  http://bshambaugh.rww.io/storage/bigbear_thoughts/following


@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

<>
    <http://purl.org/dc/terms/created> "1399497576204"^^<
http://www.w3.org/2001/XMLSchema#dateTime> ;
    <http://rdfs.org/sioc/ns#has_member> <#user_0>, <#user_1>, <#user_2>,
<#user_3> ;
    a <http://rdfs.org/sioc/ns#Usergroup> .

<#channel_0_0>
    <http://purl.org/dc/terms/title> "RWW" ;
    <http://rdfs.org/sioc/ns#has_subscriber> <../../profile/card#me> ;
    <http://rdfs.org/sioc/ns#link> <
http://ubiquitous.rww.io/microblog/test/ch1/> ;
    a <http://rdfs.org/sioc/ns#Container> .

<#channel_0_1>
    <http://purl.org/dc/terms/title> "public" ;
    <http://rdfs.org/sioc/ns#link> <
http://ubiquitous.rww.io/microblog/test/ch2/> ;
    a <http://rdfs.org/sioc/ns#Container> .

<#channel_0_2>
    <http://purl.org/dc/terms/title> "workOnRWW" ;
    <http://rdfs.org/sioc/ns#link> <
http://ubiquitous.rww.io/microblog/test/ch3/> ;
    a <http://rdfs.org/sioc/ns#Container> .

<#channel_1_0>
    <http://purl.org/dc/terms/title> "Main" ;
    <http://rdfs.org/sioc/ns#link> <http://melvin.rww.io/workspace/blog/ch1/>
;
    a <http://rdfs.org/sioc/ns#Container> .

<#channel_1_1>
    <http://purl.org/dc/terms/title> "Tarot" ;
    <http://rdfs.org/sioc/ns#link> <http://melvin.rww.io/workspace/blog/ch2/>
;
    a <http://rdfs.org/sioc/ns#Container> .

<#channel_1_2>
    <http://purl.org/dc/terms/title> "Tech" ;
    <http://rdfs.org/sioc/ns#link> <http://melvin.rww.io/workspace/blog/ch3/>
;
    a <http://rdfs.org/sioc/ns#Container> .

<#channel_1_3>
    <http://purl.org/dc/terms/title> "Taskify" ;
    <http://rdfs.org/sioc/ns#link> <http://melvin.rww.io/workspace/blog/ch4/>
;
    a <http://rdfs.org/sioc/ns#Container> .

<#channel_1_4>
    <http://purl.org/dc/terms/title> "Economy" ;
    <http://rdfs.org/sioc/ns#has_subscriber> <../../profile/card#me> ;
    <http://rdfs.org/sioc/ns#link> <http://melvin.rww.io/workspace/blog/ch5/>
;
    a <http://rdfs.org/sioc/ns#Container> .

<#channel_2_0>
    <http://purl.org/dc/terms/title> "Main" ;
    <http://rdfs.org/sioc/ns#has_subscriber> <../../profile/card#me> ;
    <http://rdfs.org/sioc/ns#link> <https://deiu.rww.io/shared/mb/ch1/> ;
    a <http://rdfs.org/sioc/ns#Container> .

<#channel_2_1>
    <http://purl.org/dc/terms/title> "Private" ;
    <http://rdfs.org/sioc/ns#link> <https://deiu.rww.io/shared/mb/ch2/> ;
    a <http://rdfs.org/sioc/ns#Container> .

<#channel_2_2>
    <http://purl.org/dc/terms/title> "Test" ;
    <http://rdfs.org/sioc/ns#link> <https://deiu.rww.io/shared/mb/test/> ;
    a <http://rdfs.org/sioc/ns#Container> .

<#channel_2_3>
    <http://purl.org/dc/terms/title> "Work" ;
    <http://rdfs.org/sioc/ns#link> <https://deiu.rww.io/shared/mb/work/> ;
    a <http://rdfs.org/sioc/ns#Container> .

<#channel_3_0>
    <http://purl.org/dc/terms/title> "main" ;
    <http://rdfs.org/sioc/ns#has_subscriber> <../../profile/card#me> ;
    <http://rdfs.org/sioc/ns#link> <
https://antares.rww.io/storage/antares/ch1/> ;
    a <http://rdfs.org/sioc/ns#Container> .

<#user_0>
    <http://rdfs.org/sioc/ns#account_of> <
http://hajollyha.net/foaf.rdf#amyvdh> ;
    <http://rdfs.org/sioc/ns#avatar> <
http://ubiquitous.rww.io/profile/avatar.jpg> ;
    <http://rdfs.org/sioc/ns#feed> <#channel_0_0>, <#channel_0_1>,
<#channel_0_2> ;
    <http://rdfs.org/sioc/ns#name> "Timothy Charles Holborn" ;
    a <http://rdfs.org/sioc/ns#UserAccount> .

<#user_1>
    <http://rdfs.org/sioc/ns#account_of> <http://melvincarvalho.com/#me> ;
    <http://rdfs.org/sioc/ns#avatar> <
http://melvincarvalho.com/melvincarvalho.png> ;
    <http://rdfs.org/sioc/ns#feed> <#channel_1_0>, <#channel_1_1>,
<#channel_1_2>, <#channel_1_3>, <#channel_1_4> ;
    <http://rdfs.org/sioc/ns#name> "Melvin Carvalho" ;
    a <http://rdfs.org/sioc/ns#UserAccount> .

<#user_2>
    <http://rdfs.org/sioc/ns#account_of> <
https://deiu.rww.io/profile/card#me> ;
    <http://rdfs.org/sioc/ns#avatar> <https://deiu.rww.io/profile/avatar.jpg>
;
    <http://rdfs.org/sioc/ns#feed> <#channel_2_0>, <#channel_2_1>,
<#channel_2_2>, <#channel_2_3> ;
    <http://rdfs.org/sioc/ns#name> "Andrei Vlad Sambra" ;
    a <http://rdfs.org/sioc/ns#UserAccount> .

<#user_3>
    <http://rdfs.org/sioc/ns#account_of> <
https://antares.rww.io/profile/card#me> ;
    <http://rdfs.org/sioc/ns#avatar> <img/generic_photo.png> ;
    <http://rdfs.org/sioc/ns#feed> <#channel_3_0> ;
    <http://rdfs.org/sioc/ns#name> "Brent Shambaugh" ;
    a <http://rdfs.org/sioc/ns#UserAccount> .

------------

Each channel itself  is a container, which links to other containers like
in 1) where the predicate <http://rdfs.org/sioc/ns#link> is used. These
other containers are for other users.

3) Containers are "The contents of a container is defined by a set of
triples in its representation (and state) called the containment triples
<http://www.w3.org/TR/ldp/#dfn-containment-triples> that follow a fixed
pattern." (http://www.w3.org/TR/ldp/#ldpc)  This pattern is, "LDPC URI,
ldp:contains, document-URI" (
http://www.w3.org/TR/ldp/#dfn-containment-triples).

I see this pattern in 1). i.e. "<http://www.w3.org/ns/posix/stat#Directory>
;
    <http://www.w3.org/ns/ldp#contains> <.acl.post1>, <.acl.post2>,
<post1>,"

"Additional types of containers allow for the set of members of a container
to be defined by a set of triples in its representation called the membership
triples <http://www.w3.org/TR/ldp/#dfn-membership-triples> that follow a
consistent pattern (see the linked-to definition for the possible
patterns). The membership triples of a container all have the same
predicate, called the membership predicate, and either the subject or the
object is also a consistent value – the remaining position of the
membership triples (the one that varies) define the members of the
container. In the simplest cases, the consistent value will be the LDPC
resource's URI, but it does not have to be. The membership predicate is
also variable and will often be a predicate from the server application
vocabulary or the ldp:member predicate." I do not see this at rww.io. I do
seem to be able to create a basic containers though.

For example,  I created the directory family_bears through the rww.io
interface. With curl I get:

curl https://bshambaugh.rww.io/storage/family_bears/

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

<>
    a <http://www.w3.org/ns/ldp#BasicContainer>, <
http://www.w3.org/ns/ldp#Container>, <
http://www.w3.org/ns/posix/stat#Directory> ;
    <http://www.w3.org/ns/posix/stat#mtime> 1422985309 ;
    <http://www.w3.org/ns/posix/stat#size> 4096 .
----

I see BasicContainer, which appears to not have membership triples. It is
not a direct or indirect container. "The membership predicate is also
variable and will often be a predicate from the server application
vocabulary or the ldp:member predicate" does no apply unless the server
application vocabulary defines it...which I'm unsure about.

4) I can create nearly blank rdf files or upload images.

curl https://bshambaugh.rww.io/storage/very_big_bear
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

https://bshambaugh.rww.io/storage/seans2.png (gobbedly goop in curl)

5) cimba.co also uploads files.

They all have a particular form in RDF
For example, I can use curl to retrieve a particular post:

curl curl https://bshambaugh.rww.io/storage/bigbear_thoughts/ch1/post1

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

<>
    <http://purl.org/dc/terms/created> "2014-05-03T03:38:32+0000"^^<
http://www.w3.org/2001/XMLSchema#dateTime> ;
    <http://rdfs.org/sioc/ns#content> "I had an excellent time with
telescopes tonight!" ;
    <http://rdfs.org/sioc/ns#has_creator> <#author> ;
    a <http://rdfs.org/sioc/ns#Post> .

<#author>
    <http://rdfs.org/sioc/ns#account_of> <../../../profile/card#me> ;
    <http://rdfs.org/sioc/ns#avatar> <img/generic_photo.png> ;
    a <http://rdfs.org/sioc/ns#UserAccount> ;
    <http://xmlns.com/foaf/0.1/name> "Brent Shambaugh" .

Do they have to have this form for cimba? Is the form restricted by the ldp
basic container? Can each individual URI exist on any server (like
hot-linking an image in a web page).

Hmm...
"

The preceding example is very straightforward: there are containment
triples whose subject is the container, whose predicate is ldp:contains,
and whose objects are the URIs of the contained resources, and there is no
distinction between member resources and contained resources. A POST to
this container will create a new resource and add it to the list of
contained resources by adding a new containment triple to the container.
This type of container is called a Linked Data Platform Basic Container
<http://www.w3.org/TR/ldp/#dfn-linked-data-platform-basic-container>.
Sometimes you have to build on existing models incrementally, so you have
fewer degrees of freedom in the resource model. In these situations, it can
be useful to help clients map LDP patterns onto existing vocabularies, or
to include members not created via the container; LDP Direct Containers
<http://www.w3.org/TR/ldp/#dfn-linked-data-platform-direct-container> meet
those kinds of needs. Direct Containers allow membership triples to use a
subject other than the container itself as the consistent membership value,
and/or to use a predicate from an application's domain model as the
membership predicate."
So I can hot-link triples (three URIs) into containers?

Sorry, confused.


-Brent Shambaugh

Website: bshambaugh.org

Received on Tuesday, 3 February 2015 18:33:09 UTC