SolidOS / mashlib

Solid-compatible data mashup library and Data Browser
https://solidos.github.io/mashlib/dist/browse.html
MIT License
72 stars 22 forks source link

Some issue with Meeting #92

Open scenaristeur opened 4 years ago

scenaristeur commented 4 years ago

Hi @all, wanting to play with Solid Meeting, i've encountered a lot of issue and some seems to come from mashlib? Meeting pane ? databrowser ? . here is the discussion about it https://forum.solidproject.org/t/collection-with-tripledoc/3071/4

First : As pointed @Vincent it seems that this turtle uses some vocabulary that does not exist :

flow#participation
flow#participant

in the https://www.w3.org/2005/01/wf/flow# defined by @timbl

Next, i've used databrowser to create one : https://holacracy.solid.community/public/meeting/gouvernance/second%20meeting/index.ttl#this what gave me

@prefix : <#>.
@prefix mee: <http://www.w3.org/ns/pim/meeting#>.
@prefix ic: <http://www.w3.org/2002/12/cal/ical#>.
@prefix XML: <http://www.w3.org/2001/XMLSchema#>.
@prefix flow: <http://www.w3.org/2005/01/wf/flow#>.
@prefix c: </profile/card#>.
@prefix ui: <http://www.w3.org/ns/ui#>.
@prefix n0: <http://purl.org/dc/elements/1.1/>.

:id1589757677361
    ic:dtstart "2020-05-17T23:21:17Z"^^XML:dateTime;
    flow:participant c:me;
    ui:backgroundColor "#dbe0cb".
:this
    a mee:Meeting;
    n0:author c:me;
    n0:created "2020-05-17T23:21:01Z"^^XML:dateTime;
    ic:comment "comment cool";
    ic:dtend "2020-05-13"^^XML:date;
    ic:dtstart "2020-05-04"^^XML:date;
    ic:location "nowhere";
    ic:summary "second test meeting";
    flow:participation :id1589757677361;
    mee:toolList ( :this );
    ui:backgroundColor "#ddddcc"^^XML:color.

I wanted to created a new Meeting from my app https://scenaristeur.github.io/spoggy-group/ (the "Gouv" button) but as said in the forum, Tripledoc can't help me to create toolList as expected by mashlib.

Considering the

    mee:toolList ( :this );

No library i know (tripledoc, ldflex, solid-file-client) is able to manage this kind of Collection ? or are there ? So is it a good idea to use it ? And if i don't use this triple, the mashlib throw me an error .

TypeError: can't access property "length", o is undefined
  https://holacracy.solid.community/mashlib.min.js:109:231536
    N/<  https://holacracy.solid.community/mashlib.min.js:109:232045
    N  https://holacracy.solid.community/mashlib.min.js:109:232528
    i.tabs.tabWidget  https://holacracy.solid.community/mashlib.min.js:109:476944
    render  https://holacracy.solid.community/mashlib.min.js:109:248135
    e.exports/this.propertyTable/<  undefined

So , how could I recreate a Solid Meeting from a client app ? Here is my code https://github.com/scenaristeur/spoggy-group/blob/9b49f22f2289c2cde38b4fd4c0119a82d2e0b33c/src/views/gouvernance-meeting-view.js#L79

Thxs

scenaristeur commented 4 years ago

Same issue of collection/list with issue-tracker https://raw.githubusercontent.com/solid/issue-pane/master/Documentation/FooTracker/index.ttl

michielbdejong commented 4 years ago

No library i know (tripledoc, ldflex, solid-file-client) is able to manage this kind of Collection ?

Why not just use rdflib?

michielbdejong commented 4 years ago

I think rdflib lists are not (well) supported by tripledoc and ldflex, so that's probably why you're getting errors.

I don't know a lot about https://github.com/jeff-zucker/solid-file-client but I have a meeting later with Jeff later today so I will bring it up there.

scenaristeur commented 4 years ago

@michielbdejong thanks for looking at it. But I think if Collection are in Meeting & Issue-tracker Solid spec, they should be implemented in at least on solid high level lib.

I don't think solid-file-client does, it's file level library, not triple level.

jeff-zucker commented 4 years ago

I don't think solid-file-client does, it's file level library, not triple level.

Correct, solid-file-client parses containers and headers and is acl-aware but otherwise does not provide any support for RDF parsing, it's purpose is file manipulation such as zip/unzip, recursive copy/delete, and pod-to-desktop transfers.