Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Aug 09 01:05
    elf-pavlik commented #447
  • Aug 08 15:22
    TallTed commented #447
  • Aug 07 02:14
    almereyda opened #448
  • Aug 06 09:58
    melvincarvalho commented #447
  • Aug 06 09:55
    melvincarvalho commented #447
  • Aug 06 09:44
    melvincarvalho commented #447
  • Aug 06 09:41
    melvincarvalho commented #447
  • Aug 04 19:09
    barath commented #447
  • Aug 03 22:40
    ThisIsMissEm commented #447
  • Aug 03 17:14
    kjetilk commented #409
  • Aug 03 17:08
    acoburn synchronize #409
  • Aug 02 16:03
    elf-pavlik commented #447
  • Aug 02 15:56
    elf-pavlik commented #447
  • Aug 02 13:38
    scenaristeur commented #447
  • Aug 02 12:34
    timbl commented #447
  • Jul 28 16:33
    csarven reopened #409
  • Jul 25 12:15
    elf-pavlik commented #447
  • Jul 22 15:50
    justinwb assigned #447
  • Jul 22 15:50
    justinwb opened #447
  • Jul 06 14:22
    csarven commented #224
Fred Gibson
@gibsonf1
:thumbsup: :thumbsup: :thumbsup:
Martynas Jusevicius
@namedgraph_twitter
well, good to have a more formal spec
but there are things I don't agree with
in random order: containers. They are not an HTTP thing nor an RDF thing, they are an LDP thing/Solid thing and orthogonal to ACL. why couple them together in this spec?
Sarven Capadisli
@csarven

@namedgraph_twitter There was a whole PR welcoming feedback like the one you're making now.

Can you link or quote the bit that you don't agree with?

As for "containers", here is the definition that's used in the spec: http://solid.github.io/web-access-control-spec/#container-resource

A container resource is a hierarchical collection of resources that contains other resources, including containers.

As for Solid or LDP thing... I can only assure you that there was no intention to couple any of that with WAC whatsoever. If there is a hint of it, do let me know because I'll consider that as a bug.

Here is the non-normative section on HTTP Interactions: http://solid.github.io/web-access-control-spec/#http-interactions

This specification does not describe the HTTP interaction to read-write resources. It is assumed that servers have a mapping to handle HTTP requests and the required Authorizations to grant operations on resources. Implementations are strongly encouraged to use existing approaches that provide an extension of the rules of Linked Data

Justin Bingham
@justinwb
:laughing:
csarven @csarven notes https://solid.github.io/web-access-control-spec/#conformance lists only MUST and MUST NOT.
Justin Bingham
@justinwb

Hi @/all - given some movement and activity of late related to client/server notification protocols, the protocol editors have created an issue at solid/process#258 to gauge interest in re-establishing the notifications panel to advance proposals and implementation work:

Please see solid/process#258 and :+1: / :-1: / comment if you’re interested in participating.

KakoozaJerry
@KakoozaJerry
Anyone that has used inrupt's solid ACL tool ? need some help
Fred Gibson
@gibsonf1
@KakoozaJerry the solid/app-development channel is the best place for answers to that
1 reply
Sarven Capadisli
@csarven
Anyone using schema:step with rdf:List ?
Jeff Zucker
@jeff-zucker
^^No, but @NoelDeMartin might be interested in it for his recipes. It looks like there is no stated relationship between schema:step and schema:ItemList which AFAIK is schema's rdf:List.
Fred Gibson
@gibsonf1
Is there discussion about a common way to download a full pod?
Noel De Martin
@NoelDeMartin

@csarven As @jeff-zucker mentioned I've been looking into this type of thing, I'm still trying to learn about RDF overall :).

You say using schema:step with rdf:List. Shouldn't that be avoided? The rdf: vocab doesn't know anything about the schema: vocab, so that would be mixing vocabs and it wouldn't be modeled properly, right? If anyone wants to use schema:step, it should be on a schema:HowTo given that's its domain.

Sarven Capadisli
@csarven
I meant the object of step is of type List
Noel De Martin
@NoelDeMartin

@csarven Ok, same question then, the range of schema:step is schema:CreativeWork, schema:HowToSection, schema:HowToStep, or schema:Text; So wouldn't rdf:List be an invalid value? It would be nice if it weren't though, because we'd be able to have sorted lists :).

If that's valid, is there any way to indicate that the values within the list are one of those? Because the range of rdf:first (a property of rdf:List) is rdf:Resource, so a string for example wouldn't be valid, but a foaf:Person or whatever would, and that's not a valid schema:step.

Aaron Coburn
@acoburn
Domain and range are not about validation. They are used for inference (adding triples)
Sarven Capadisli
@csarven
Literal is a subclass of Resource. The subject of an RDF statement can be a literal.
1 reply
Jeff Zucker
@jeff-zucker
@NoelDeMartin note here : Thing > Intangible > ItemList > HowToSection. So [] a schema:Recipe schema:step [ a schema:HowToSection, schema:ItemList] would seem to do what you want.
schema:ItemList is AFAIK schema's version of rdf:List and its elements can be of type schema:Thing, i.e. anything.
Jeff Zucker
@jeff-zucker
The owl for schema also shows this : schema:recipeInstructions
schema:domainIncludes schema:Recipe ;
schema:rangeIncludes schema:ItemList .
53 replies
That would seem to exactly match your requirements.
Noel De Martin
@NoelDeMartin

Domain and range are not about validation. They are used for inference (adding triples)

@acoburn What do you mean with that? I'll use a different example.

Is this "valid"? or "correct"? or "should I do it"? (I'm not sure about the technical word to describe it).

<#me>
    a foaf:Person ;
    foaf:knows <#the-lord-of-the-rings> .

<#the-lord-of-the-rings>
    a schema:Movie .

I would say that's invalid/incorrect/you shouldn't do it, because the range of foaf:knows is foaf:Person, and a schema:Movie is not a foaf:Person.

Martynas Jusevicius
@namedgraph_twitter
it's incorrect in the way this leads into the following inference:
<#the-lord-of-the-rings> a foaf:Person .
which is obviously not true
but it's not a violation in terms of RDF or OWL
Jeff Zucker
@jeff-zucker
Syntactically correct by semantically meaningless?
Martynas Jusevicius
@namedgraph_twitter
not sure. you could say semantics are as intended
until there's a statement saying that Person and Movie are disjoint classes
then a reasoner with the right OWL level should flag this
Jeff Zucker
@jeff-zucker
So there's nothing about the definition of foaf:knows that makes this incorrect and using a value not specified in the range of foaf:knows is not an error?
Aaron Coburn
@acoburn

What @namedgraph_twitter said.

If you are concerned with RDF validation, you can use an OWL reasoner or SHACL or ShEx. Otherwise, syntactically valid RDF allows you to make any statement on any topic. That, however, is independent of the accuracy of the statement

Jeff Zucker
@jeff-zucker
:thumbsup:
Martynas Jusevicius
@namedgraph_twitter

the explanation for this is that RDF is property-centric:

The RDF Schema class and property system is similar to the type systems of object-oriented programming languages such as Java. RDF Schema differs from many such systems in that instead of defining a class in terms of the properties its instances may have, RDF Schema describes properties in terms of the classes of resource to which they apply. This is the role of the domain and range mechanisms described in this specification. For example, we could define the eg:author property to have a domain of eg:Document and a range of eg:Person, whereas a classical object oriented system might typically define a class eg:Book with an attribute called eg:author of type eg:Person. Using the RDF approach, it is easy for others to subsequently define additional properties with a domain of eg:Document or a range of eg:Person. This can be done without the need to re-define the original description of these classes. One benefit of the RDF property-centric approach is that it allows anyone to extend the description of existing resources, one of the architectural principles of the Web [BERNERS-LEE98].

https://www.w3.org/TR/rdf-schema/#ch_introduction

Jeff Zucker
@jeff-zucker
That is a really helpful quote, thanks!
Noel De Martin
@NoelDeMartin

Thanks, I think I understand now :).

So, in the initial example we were talking about schema:step and rdf:List. If we have the following document:

<#it> schema:step ( :foo :bar ) .

Which means:

<#it> schema:step _:b0 .

_:b0
    a rdf:List ;
    rdf:first :foo ;
    rdf:rest _:b1 .

_:b1
    a rdf:List ;
    rdf:first :bar ;
    rdf:rest rdf:nil .

This is not invalid, but it makes an inference that _:b0 is one of schema:CreativeWork, schema:HowToSection, schema:HowToStep, or schema:Text because that's the range of schema:step, right?. Which is fine because rdf:List is not disjoint with any of those?

Aaron Coburn
@acoburn
Note, however, that schema: definitions do not use domain and range. Rather that vocab invents something called schema:rangeIncludes, which is altogether different. So none of these inference models apply unless they are based on extra assertions that you are providing
Daniel B.
@DanielBakas
Hi everyone!! @jeff-zucker and I were chatting on the app development chat and a question arose. Are there any specifications on Where application data should be stored inside a user's pod?
This question comes from a desire of respecting the user's pod files and folders so that there's not too many folders on the root directory
Maybe something like a "AppData" folder?
What do you guys think?
Fred Gibson
@gibsonf1
@DanielBakas As an app and server developer, I think that's a great idea
Fred Gibson
@gibsonf1
Part of our solution on this is that, like linux, we create a home container for each user, and the files app starts there by default rather than root
Daniel B.
@DanielBakas
That's right! And that would make sense right? If we make it a standard, users won't need to worry about that and neither will app developers. It will just have a designated space and we will all be able to respect it :D
Fred Gibson
@gibsonf1
@DanielBakas From the root, we have an apps container where we save a link to all the apps a user has approved. That might be a good place to add a data container, so apps/data where apps can store their data
image.png
Daniel B.
@DanielBakas
I like that!!
Fred Gibson
@gibsonf1
And then when user first logs in, we use the linus approach and put them in their /home folder: