Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • May 27 06:08
    User @Mitzi-Laszlo unbanned @in1t3r
  • May 23 06:49
    @Mitzi-Laszlo banned @in1t3r
  • May 16 09:49
    @Mitzi-Laszlo banned @mediaprophet
  • Feb 01 22:04
    User @melvincarvalho unbanned @namedgraph_twitter
  • Feb 01 21:49
    @melvincarvalho banned @namedgraph_twitter
Brad Bader
@bradbader_twitter
Wish my car worked with version control that way.
Angelo Veltens
@angelo-v
Haha, yeah, would make life easier in so many areas :)
cezjah
@cezjah

Good evening, and I hope you are all having a great weekend. Does anyone have a version of the Solid ReactJS application (https://solid.inrupt.com/docs/writing-solid-apps-with-react) that does not throw a permission denied error on the following command?

yo @inrupt/solid-react

Jeff Zucker
@jeff-zucker
@cezjah, you saw the part about needing admin priveleges? it works for me with sudo yo @inrupt/solid-react. make sure you run that in a folder you have perms on
cezjah
@cezjah
Thanks @jeff-zucker I did precede with sudo AND I ran chmod -R 755 against the insight-nodejs/ folder. I am still getting the Error: EACCES: permission denied, open '/Users/cezjah/Library/Preferences/insight-nodejs/insight-yo.json.2638342249'
I saw a note on the solid site: Note: We have noticed an error is sometimes thrown when the Generator tries to install one of the dependencies of application. If this occurs, try installing Git and then rebuilding your application.
Jeff Zucker
@jeff-zucker
Well give that a try then ... git is kind of handy to have anyway
cezjah
@cezjah
OK thank you.
Jeff Zucker
@jeff-zucker
sure , come on back if that doesn't work, good luck!
cezjah
@cezjah
@jeff-zucker I am up and running now :-) Thanks so much for your prompt response. Have a great weekend.
Jeff Zucker
@jeff-zucker
:thumbsup:
Fabian Cook
@fabiancook

I've managed to pull the glob portion of the GET handler from NSS, I'm allowing users to provide a glob class, which I then replace a couple of prototype functions with ones that will fetch the details from a remote service (like NSS or something else):

https://github.com/o-network/http-rdf-glob/blob/master/src/glob.7.1.3.ts

But the usage of the npm module glob allows more than what the spec says, so I have also made a very simple "globber" that matches the spec and only allows for "*" at the end of the pathname:

https://github.com/o-network/http-rdf-glob/blob/master/src/simple-glob.ts

Jeff Zucker
@jeff-zucker
you've seen the discussions about eliminating glob from the spec?
Fabian Cook
@fabiancook
Yep, but wanted to see if this was possible in user land, which would be easier to remove from spec
Above allows to be done by userland, so no need for in NSS any more
You pass a fetch function, which can either grab locally if being run on the server, or can go and fetch remotely (from NSS)
It uses the list function of a directory, rather than fs.readdir
Fabian Cook
@fabiancook
The same code can completely replace the code in NSS as well, and its also not fixed to text/turtle, and can instead return the graph as a valid rdf type that rdflib can serialise to
Jeff Zucker
@jeff-zucker
interesting!
Fabian Cook
@fabiancook
If you look at any of my o-network modules, they all work this way :)
My hope is that I will be able to do all this in a cloudflare worker
Fabian Cook
@fabiancook
At this point in time, the only features that I haven't implemented for open network is the OIDC views (I can validate bearer tokens & TLS, but don't do any of the management of accounts)
Jeff Zucker
@jeff-zucker
I hope to have time to look sometime soonish, been too busy on the client side to do anything with the server side
lin onetwo
@linonetwo
@fabiancook This may dispatch thousands of GET, and rejected if any of the elements are rejected.
https://github.com/o-network/http-rdf-glob/blob/2452926790418d98ceb88506b92b7f5a8020fce7/src/combine.ts#L45-L51
Fabian Cook
@fabiancook
@linonetwo it is effectively the same as doing it on the NSS server itself, and will invoke the same code that is run internally for NSS
If its any error in the 400-499 range it won't error
If the module is being used server side, the requests will be routed directly to the fs-store, rather than doing a remote get request
So yes, you're right, it can do hundreds of GET requests, but is only doing those requests for the resources that matched that were requested by the user, and it will only be hundreds if there were hundreds of matching files.
Antonio Malara
@biappi
after quite some time of non-tech distractions, i was refreshing what i know of solid... i figured out some of my difficulties. i don't clearly understand the relation of URIs in the "knowledge graph" rdf space, the separation in turtle files in the solid "filesystem", and HTTP "transport" URLs. i have read the docs several times, and i still don't have it clear. i was trying to read the fetcher sourcecode, but i figured i can also try to ask here =)
Fabian Cook
@fabiancook
I think the best way to think about is to think about nodes in a graph, each node being a turtle resource, each node can reference other nodes by way of a URI, you as a user, or client, interact with nodes, and click through to other nodes using hyperlinks, if you fetch all of these nodes by following all the hyperlinks, you get a graph
@biappi ^
Tim Berners-Lee
@timbl
@biappi Yes. The data web of RDF is like the hypertext web of HTML, except nodes are conceptual things insread of parts of a document, and links have well defined semantics. They both use the ‘#’. In both cases the use of a URI a#b is an invitation to load document a and find out about what it shoses to say about a#b. The document tries to have useful data about a#b and related things those interested in a#b would also be interested in.
Tim Berners-Lee
@timbl
The Fetcher fetches each document into the Store. Its a quad store, so it keeps track of which document each (s,p,o) triple came from by in fact storing (s,p,o,document). The store acts as a local cache of part of the data web. So once it has loaded a few documents, then you can query and navigate the RDF graph locally in memory.
You update the data web using UpdateManager.update() which sends a patch to the server, and makes sure the local Store is kept in sync. The UpdateManager can also subscribe to any changes in a document made by others and let each client app do live updates.
SolidToronto
@SolidToronto
Hey everyone, the Toronto event is set for next Monday, May 13th, at 6pm in the evening. Our meetup group is full but there’s still space. Please RSVP at https://www.llbrandlab.com/events/solid-toronto-meetup
Antonio Malara
@biappi
@fabiancook @timbl thanks! you gave me the key piece of understanding i was missing. i didn't consider the concept of "document" as being part of the "rdf data web"... i was confused because, ignoring documents, i thought all turtle files could be about about every resource, and of course now i have more understanding of the fourth element of the rdf triples =)
i love that "i am an idiot" feeling when the right piece of knowledge fits the slot and everything makes more sense =)
Tim Berners-Lee
@timbl
:thumbsup:
Suji Yan
@Tedko
😄
Tim Berners-Lee
@timbl
Me too
SolidToronto
@SolidToronto
@timbl are you by any chance going to be in town for our event at May 13? I have received tremendous interest from local developers here
Mitzi László
@Mitzi-Laszlo
Hi Li Lu, Tim will be speaking in Toronto around that time but best not to plan around his attendance of Solid Toronto, happy to set up another chat and go through the Solid Toronto plans and possible content with you if that's helpful
SolidToronto
@SolidToronto
Hey Mitzi! Thank you for the offering! We are planning the event assuming Tim’s absence. Just can’t help with the excitement that he might be in town. We will have the content flow figured about mid week and would love to get your feedback once the flow is set! Thank you!
Mark Nadal
@amark
Hey, just got off call with John and Kelly from @RubenVerborgh connecting us over the POD sync/replication (across different POD providers) and POD encryption (so POD providers can't read data), I have things ready to do this now just need to spearhead it in with somebody who can get me acquainted with codebase nuances... who is interested in SOLID sync & encryption!?
Scott McWhirter
@konobi
oh hey... it's mark from gundb
A_A
@Otto-AA
What do you think about caching private data in the localStorage? The way I understand localStorage, it shares it's data with all apps from which have the same domain. This would mean, that if the user has installed two different apps on his pod (or uses them from some kind of appstore), they could access the data from each other regardless of their unique access constraints. Furthermore, they could use the login credentials stored by solid-auth-client even if they weren't given any permission
I've read here, that "Two actors in the Web platform that share an origin are assumed to trust each other and to have the same authority", but I don't really think this applies for solid as giving unique permission control per app is (imo) a key feature of it. That they share the same host doesn't mean that they even know of each other if we think of storing apps on the own pod or using some kind of app store
Angelo Veltens
@angelo-v
But Solid relies on the Origin as well, so if two apps share an origin they are actually one app from solid point of view