by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Aug 10 21:34
    timbl opened #329
  • Aug 07 13:12
    bourgeoa commented #312
  • Aug 06 20:33
    timbl commented #312
  • Aug 06 12:27
    timbl labeled #241
  • Aug 06 12:27
    timbl opened #241
  • Aug 04 09:56
    scenaristeur commented #321
  • Aug 02 17:21
    scenaristeur commented #312
  • Jul 30 19:26
    angelo-v opened #240
  • Jul 30 18:29

    michielbdejong on master

    3.3.0 (compare)

  • Jul 30 18:29

    michielbdejong on v3.3.0

    (compare)

  • Jul 30 18:27

    dependabot[bot] on npm_and_yarn

    (compare)

  • Jul 30 18:27
    dependabot[bot] closed #239
  • Jul 30 18:27
    dependabot[bot] edited #239
  • Jul 30 18:27
    dependabot[bot] commented #239
  • Jul 30 18:27
    dependabot[bot] edited #239
  • Jul 30 18:27

    michielbdejong on update-deps

    (compare)

  • Jul 30 18:27

    michielbdejong on master

    Update dependencies (#238) * r… (compare)

  • Jul 30 18:27
    michielbdejong closed #238
  • Jul 30 18:22
    michielbdejong synchronize #238
  • Jul 30 18:22

    michielbdejong on update-deps

    Test on Node 10, 12, and latest (compare)

Jeff Zucker
@jeff-zucker
not to mention, if you have protege isnstalled, you can be editing the ontology in it with two clicks
Jules Cole
@Julian-Cole
This is a really dumb question but can you run a js web app in an inrupt pod out of the public/Apps/ folder?
Jules Cole
@Julian-Cole
as my index page can't find the linked js files in the js/ folder
matrixbot
@matrixbot
aveltens Should work. If not double check the links and acl permissions.
Jules Cole
@Julian-Cole
np - i'll move them somewhere else
Dmitri Zagidulin
@dmitrizagidulin
@leinue nice design!
mrkvon
@mrkvon
It seems that when we save a triple with a predicate owl:sameAs using rdflib.js, another predicate link:uri is created. Is somebody able to explain why this is happening? I'm frustrated because it doesn't match my intuition.
There are issues linkeddata/rdflib.js#185 and linkeddata/rdflib.js#221 open and stale, related to this.
Martynas Jusevicius
@namedgraph_twitter
some levels of abstraction got mixed up
ramprudvi
@ramprudvi
check this logs for angular project [error] Error: Job name "..getProjectMetadata" does not exist.
at Observable._subscribe (xx\solidapptest\node_modules\@angular-devkit\core\src\experimental\jobs\simple-scheduler.js:350:23)
at Observable._trySubscribe (xx\solidapptest\node_modules\@angular-devkit\core\node_modules\rxjs\internal\Observable.js:44:25)
at Observable.subscribe (xx\solidapptest\node_modules\@angular-devkit\core\node_modules\rxjs\internal\Observable.js:30:22)
at xx\solidapptest\node_modules\@angular-devkit\core\node_modules\rxjs\internal\util\subscribeTo.js:22:31
at Object.subscribeToResult (xx\solidapptest\node_modules\@angular-devkit\core\node_modules\rxjs\internal\util\subscribeToResult.js:10:45)
at SwitchMapSubscriber._innerSub (xx\solidapptest\node_modules\@angular-devkit\core\node_modules\rxjs\internal\operators\switchMap.js:65:54)
at SwitchMapSubscriber._next (xx\solidapptest\node_modules\@angular-devkit\core\node_modules\rxjs\internal\operators\switchMap.js:55:14)
at SwitchMapSubscriber.Subscriber.next (xx\solidapptest\node_modules\@angular-devkit\core\node_modules\rxjs\internal\Subscriber.js:66:18)
at SwitchMapSubscriber.notifyNext (xx\solidapptest\node_modules\@angular-devkit\core\node_modules\rxjs\internal\operators\switchMap.js:86:26)
at InnerSubscriber._next (xx\solidapptest\node_modules\@angular-devkit\core\node_modules\rxjs\internal\InnerSubscriber.js:28:21)
at InnerSubscriber.Subscriber.next (xx\solidapptest\node_modules\@angular-devkit\core\node_modules\rxjs\internal\Subscriber.js:66:18)
at xxsolidapptest\node_modules\@angular-devkit\core\node_modules\rxjs\internal\util\subscribeTo.js:17:28
at Object.subscribeToResult (xx\solidapptest\node_modules\@angular-devkit\core\node_modules\rxjs\internal\util\subscribeToResult.js:10:45)
at SwitchMapSubscriber._innerSub (xx\solidapptest\node_modules\@angular-devkit\core\node_modules\rxjs\internal\operators\switchMap.js:65:54)
at SwitchMapSubscriber._next (xx\solidapptest\node_modules\@angular-devkit\core\node_modules\rxjs\internal\operators\switchMap.js:55:14)
at SwitchMapSubscriber.Subscriber.next (xx\solidapptest\node_modules\@angular-devkit\core\node_modules\rxjs\internal\Subscriber.js:66:18) any help is cool even solid server not installed
bartvandemeerendonk
@bartvandemeerendonk

Hello everybody,

I am currently working on a Solid App and I want the app to be able to manage the access control of the documents I create on the app. To that end I am writing a method that fetches a document's Access Control List and executes another method with the ACL as a parameter. However when I fetch the ACL I get a HTTP 403 error "All Required Access Modes Not Granted." . Since I am using tripledoc to work with Solid I have tried to fetch the ACL with tripledoc.fetchDocument(), but I have also tried to fetch with solid.auth.fetch() and received the same error. Since the document is on my own pod I have Control-Read-Write access to the ACL (I have verified this just to be sure) and I also verify I am logged in within the method itself. I use webpack to import modules. This is the code of my method:

async function executeWithACLDataModel(storageDocumentName, methodAfter) {
    const session = await solid.auth.currentSession();
    const webIdDoc = await tripledoc.fetchDocument(session.webId);
    const profile = webIdDoc.getSubject(session.webId);

    const publicTypeIndexRef = profile.getRef(rdfNamespaces.solid.publicTypeIndex);
    const publicTypeIndex = await tripledoc.fetchDocument(publicTypeIndexRef);
    const dataModelEntry = publicTypeIndex.findSubject(rdfNamespaces.solid.forClass, publicTypeIndexRef.substr(0, publicTypeIndexRef.length - 19) + mainDocumentName);
    if (dataModelEntry) {
        //console.log("Has entry");
        const dataModelRef = dataModelEntry.getRef(rdfNamespaces.solid.instance);


                let headRequest = new XMLHttpRequest();
                headRequest.open("HEAD", dataModelRef, true);
                headRequest.onload = async function (e) {
                    const linkHeader = headRequest.getResponseHeader("link");
                    const aclDocRef = session.webId.substr(0, session.webId.length - 15) + linkHeader.substr(1, linkHeader.indexOf('>') - 1);
                    console.log(linkHeader);
                    console.log(`The URL of the ACL is: ${aclDocRef}`);
                    console.log(`The webId that I've logged in on is: ${session.webId}`);
                    console.log("Flag 0");
                    const dataModel1 = await solid.auth.fetch(aclDocRef);
                    console.log("Flag 1");
                    const dataModel = await tripledoc.fetchDocument(aclDocRef);
                    console.log("Flag 2");
                    methodAfter(dataModel);
                }
                headRequest.send();

    } else {
        //console.log("Doesn't have entry");
        const storage = profile.getRef(rdfNamespaces.space.storage);
        const dataModelReference = storage + storageDocumentName;
        const dataModel = tripledoc.createDocument(dataModelReference);
        await dataModel.save();
        //console.log("Entry was made.");
        const typeRegistration = publicTypeIndex.addSubject({"identifier" : mainDocumentName});
        typeRegistration.addRef(rdfNamespaces.rdf.type, rdfNamespaces.solid.TypeRegistration);
        typeRegistration.addRef(rdfNamespaces.solid.instance, dataModel.asRef());
        typeRegistration.addRef(rdfNamespaces.solid.forClass, mainDocumentName);
        await publicTypeIndex.save([ typeRegistration ]);
        methodAfter(dataModel);
    }
}

(continued below)

(continued from above)

The problem occurs twice in this method, the first time between 'console.log("Flag 0");' and 'console.log("Flag 1");', the second time between 'console.log("Flag 1");' and 'console.log("Flag 2");'. The output on my web console is:

<inehuanybart.acl>; rel="acl", <inehuanybart.meta>; rel="describedBy", <http://www.w3.org/ns/ldp#Resource>; rel="type"             main.js:26
The URL of the ACL is: https://bartvandemeerendonk.inrupt.net/inehuanybart.acl                                                     main.js:26
The webId that I've logged in on is: https://bartvandemeerendonk.inrupt.net/profile/card#me                                        main.js:26
Flag 0                                                                                                                             main.js:26
GET https://bartvandemeerendonk.inrupt.net/inehuanybart.acl 403 (All Required Access Modes Not Granted)        solid-auth-client.bundle.js:19
Flag 1                                                                                                                             main.js:26
GET https://bartvandemeerendonk.inrupt.net/inehuanybart.acl 403 (All Required Access Modes Not Granted)                             main.js:1
Uncaught (in promise) Error: Fetching the Document failed: 403 All Required Access Modes Not Granted.                              main.js:41
  at Module.<anonymous> (main.js:41)
  at main.js:41
  at Object.next (main.js:41)
  at a (main.js:41)

Does anyone have an idea what I might be doing wrong here?

Thanks in advance

Jeff Zucker
@jeff-zucker
@bartvandemeerendonk 403 is an app unauthorized error, not a user unauthorized error which is 401; make sure that the origin of the app is entered in your personal profile as a trustedApp
David
@scenaristeur
@jeff-zucker I encountered a matter for creating .acl using solid-file-client after the last 5.2.4 security patch https://github.com/solid/node-solid-server/issues/1418#issuecomment-613584707 any idea how to bypass? @alain wanted to try with Post instead of Put but I don't know how I can do some low-level tunning
Vincent
@Vinnl_gitlab
@bartvandemeerendonk In addition to Jeff's answer, note that a TripleDocument also has an experimental getAclRef() method that could save you some work there. And yes, if you've given your app permissions as Jeff described, Tripledoc's fetchDocument should work fine on ACL files as well.
bartvandemeerendonk
@bartvandemeerendonk

Thank you @jeff-zucker , that turned out to solve the problem! It was already a trusted application, but it lacked the control access mode there.

@Vinnl_gitlab , thank you, that's a good tip. I don't know if I'll be doing that in this app though, because I think the work it saves me from is work I've already done at this point and in that case I would like to avoid using experimental features, but I'll remember that for in the future.

Vincent
@Vinnl_gitlab
Fair enough :)
Jeff Zucker
@jeff-zucker
@scenaristeur fc.postFile(URI, content, content-type)
David
@scenaristeur
@jeff-zucker Thxs 👍
Mitzi László
@Mitzi-Laszlo
@jasonpaulos curious to hear more about https://github.com/jasonpaulos/solid-health
Pedro Pinto
@pedropinto
Hello, I was looking for a medium/big dataset where I could perform some SPARQL queries on :) Does someone have an idea where I can find one? I found this great article (https://medium.com/wallscope/constructing-sparql-queries-ca63b8b9ac02 ) but it looks like the ontology is not available anymore :/
Jeff Zucker
@jeff-zucker
@pedropinto Mark @theWebalyst has lots of SPARQL endpoints to share ... dbpedia is a common big dataset to use
Pedro Pinto
@pedropinto
Thank you @jeff-zucker
Mark Hughes (happybeing)
@theWebalyst

@pedropinto Hi Pedro, Jeff is right - dbPedia is an excellent source (a very large repository of Wikipedia type data), also see Wikidata which is also comprehensive but I think a bit more statistical. I haven't done much exploration of datasets myself yet so am still new to this and SPARQL but I do now have a large list of endpoints if you need them and am updating it as I find more. See: https://github.com/theWebalyst/SPARQL-endpoints-lists

Note, there's also a Linked Data gitter channel with some folks who know more about this than me. T isn't very active but can be very helpful,: https://gitter.im/linkeddata/chat

If you want to get more into the details of exploring SPARQL endpoints maybe we should do it in that channel? I've been doing this work for a few weeks now and have found a few papers in this area if you are interested. And if you have any references please share in case I've missed them. I suggest we go over to the Linked Data gitter for that though as SPARQL is not part of Solid.

I'd be interested to hear more about your work if you are able to share.

PS I've built an app which you can use to test lists of endpoints, see vlab.happybeing.com
I found a paper yesterday which looks like gold, and will help me improve this a lot so expect some new features soon.
Martynas Jusevicius
@namedgraph_twitter
paper on what? :)
Mark Hughes (happybeing)
@theWebalyst
SPORTAL: Profiling the Content of Public SPARQL Endpoints http://www.aidanhogan.com/docs/sportal-ijswis.pdf
Have you read it?
Martynas Jusevicius
@namedgraph_twitter
no :)
Mark Hughes (happybeing)
@theWebalyst
I've only read it once but it's very understandable. They don't seem to have published the code and the SPORTAL server is no more, but the paper contains lots of SPARQL queries to try and characterise endpoint content which I plan to try out. They seem to have had quite good results with them.
Martynas Jusevicius
@namedgraph_twitter
i mean, it makes sense for a research paper
but how will that benefit end-users?
most useful queries are dataset-specific
Mark Hughes (happybeing)
@theWebalyst
I will be adding them to VisLab shortly and firing them at a few hundred endpoints!
It's about figuring out whether a dataset has relevant content at all. You can't do dataset specific queries until you know which endpoints to explore.
Anyway, were in the wrong channel for this I think!
Martynas Jusevicius
@namedgraph_twitter
right :)
Pedro Pinto
@pedropinto

Thank you @theWebalyst

I will try to experiment a bit with some of the endpoints and thank you for the tool! I'm new to SPARQL but we can definitely talk about it in a more appropriate channel like you have suggested :)

Mark Hughes (happybeing)
@theWebalyst
:+1: and good luck
Sharon Stratsianis
@SharonStrats
@timbl I'm going to start working on solid-ui this weekend. I could either start with pad or header cleanup. Just wanted to see if you had a preference?
Michiel de Jong
@michielbdejong
Some new insights in how to debug Solid panes: https://github.com/solid/mashlib-dev#debugging-strategies
Michiel de Jong
@michielbdejong
@jaxoncreed thanks for all the work you did on solid-auth-fetcher so far!
I'm not aware of any other efforts that implement the new token format on the client side, great job!
Just as a heads-up: I will be using it for the storage test suite I'm writing (https://github.com/solid/storage-tests),
and I've started to do some work on it in this fork: https://github.com/solid/solid-auth-fetcher.
Hopefully we can also use it in Solid OS one day! :) Would anybody be interested in helping it move forward? Let me know if anyone wants to contribute! Contributions on a PR-to-PR basis also very welcome.
Also, if anyone knows about any parallel efforts where we could join forces, please reach out as well! :)
Angelo Veltens
@angelo-v
@michielbdejong I am interested
Michiel de Jong
@michielbdejong
Great!! :+1:
Michiel de Jong
@michielbdejong
Updated versions of solid-auth-client, rdflib.js, solid-ui, and solid-panes/mashlib are now available on GitHub and npm, please try them out in your Solid apps and let me know if you find bugs!