Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 14:12
    bblfish commented #197
  • 14:08
    bblfish commented #197
  • 07:55
    bblfish commented #197
  • Oct 19 20:25
    matthieubosquet commented #198
  • Oct 19 20:23
    matthieubosquet commented #198
  • Oct 19 17:56
    elf-pavlik commented #198
  • Oct 19 17:52
    elf-pavlik commented #198
  • Oct 19 16:44
    csarven commented #198
  • Oct 19 15:53
    RubenVerborgh commented #198
  • Oct 19 15:34
    matthieubosquet commented #198
  • Oct 19 15:10
    RubenVerborgh commented #198
  • Oct 19 15:09
    elf-pavlik commented #198
  • Oct 19 08:23
    RubenVerborgh commented #198
  • Oct 19 06:05
    csarven commented #198
  • Oct 18 23:33
    csarven commented #198
  • Oct 18 22:07
    RubenVerborgh commented #198
  • Oct 18 22:00
    elf-pavlik commented #198
  • Oct 18 17:09
    csarven commented #198
  • Oct 18 16:41
    csarven commented #198
  • Oct 18 16:05
    csarven closed #195
Sarven Capadisli
@csarven
while we are talking about editors reviews for merging.. non-editor reviews are just as well useful
so for instance, 199 IMO is pretty safe to merge as I see it
justinwb @justinwb not ignoring - on a call for next hour
Benoît Alessandroni
@balessan
Dumb question, what's the meaning of FPWD ?
Oh, got it.
Sarven Capadisli
@csarven
@balessan Right.. and to be clear, as the spec development is carried under the W3C Solid CG, we are borrowing W3C's spec development Process ( https://www.w3.org/Consortium/Process/ ) to set some quality expectations on significant technical reports. The CG is actually not required to adhere to the W3C Process. So, when you encounter "FPWD" interpret that as reasonably equivalent to ("~FPWD"). There are no special patent requirements for our version or implications beyond a common understanding of what it entails for the group. We will roughly go through the same development process because it is deemed to be useful.
Benoît Alessandroni
@balessan
Ok clear, thanks @csarven
Fred Gibson
@gibsonf1
We are using the test-suite now for our server - I was wondering if there is any kind of claim we can make when all availble tests are passing like "Certified Solid Compliant" or something like that?
Sarven Capadisli
@csarven
@gibsonf1 Yes, you can, something like that. Bearing in mind that the current tests are probably a good approximation - obviously we are not done with the specs and the tests.
Eventually we'll collect implementation reports. That will record level of conformance for required and optional criteria.
So, there can be bidirectional links.
Sarven Capadisli
@csarven
Example: https://linkedresearch.org/ldn/tests/summary lists reports.. each report is linked.. so, you could even link to the public report or your own copy of it. You can also describe your project (with eg DOAP) so that the report can link to it.
Reports are in RDF.
IMO! =)
Once we have these reports, we can allow queries so that implementations matching certain characteristics can be found! How cool is that?
Sarven Capadisli
@csarven
"Computer, give me a list of server implementations with RDFa know-how, using the Apache License, supports pod migration, supports SPARQL Update queries.. likes long walks on a sunset beach."
Fred Gibson
@gibsonf1
@csarven Lol, but yes, that would be great to have reports in RDF and saved in our digital-twin of the server pod. Or even better, public read permissions to a certified testing pod where all tests are saved
Fred Gibson
@gibsonf1
I guess in theory there could be a fee for testing to get the certification, and that money could be used to fund the service
Sarven Capadisli
@csarven
Sarven Capadisli
@csarven
POST PUT PATCH
Sec-GPC: 1

This message can be stored on the condition that
it is not sold or shared with third-parties.
Sarven Capadisli
@csarven
Fred Gibson
@gibsonf1
A broader question on RDF: is it valid to have an rdf:List in the predicate position of a statement? (The idea is no nest functions together in the list that act on subject/object). By inference, the rdf:List would become rdf:type rdf:Property
Aaron Coburn
@acoburn
Under generalized RDF, perhaps: https://www.w3.org/TR/rdf11-concepts/#section-generalized-rdf That would allow you to put a blank node in the predicate position of a triple. In ordinary RDF, though, a predicate must be an IRI
Martynas Jusevicius
@namedgraph_twitter
and if you’re adding/changing the RDF(S) axioms then it’s a red flag
Fred Gibson
@gibsonf1
Thanks @acoburn the node representing the list would be a named node IRI , the thanks for that reference
Fred Gibson
@gibsonf1
@namedgraph_twitter I don't think we're changing any axiom. The idea, in simple form - take a name predicate. using an IRI representing a list, you could represent predicates with rdf:List (has name) as the subject entity having the object name with inferred label "has-name" and (of name) as the subject name being of the object entity with inferred label "name-of"
Martynas Jusevicius
@namedgraph_twitter
could you post a Turtle example?
Fred Gibson
@gibsonf1
@prefix ttk-4: <https://ttk-4.graphmetrix.net/node/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix gmxo: <https://ontology.graphmetrix.com/node/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix sio: <http://semanticscience.org/resource/> .
@prefix gmx: <http://graphmetrix.com/node#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
ttk-4:7e 
    gmxo:2 \"o.object.ttk-4.3\"^^<xsd:string> ;
    gmxo:56 ttk-4:7c ;
    rdf:first gmxo:18ul ;
    rdf:rest ttk-4:7j ;
    rdfs:label \"has-name\"^^<xsd:string> ;
    a sio:SIO_000776 , gmxo:59 , gmx:9989 , gmxo:18nl , rdf:List , rdf:Property  .
ttk-4:7j 
    gmxo:2 \"o.object.ttk-4.2\"^^<xsd:string> ;
    gmxo:56 ttk-4:7h ;
    rdf:first foaf:name ;
    rdf:rest rdf:nil ;
    a sio:SIO_000776 , gmxo:59 , gmx:9989 , gmxo:18nl  , rdf:List  , gmxo:1as4 .
ttk-4:7m 
    gmxo:2 \"o.object.ttk-4.1\"^^<xsd:string> ;
    gmxo:56 ttk-4:7k ;
    a sio:SIO_000776 , gmxo:59 , gmx:9989 , gmxo:18nl ;
    ttk-4:7e \"Martynas Jusevicius\"^^<xsd:string> .
Martynas Jusevicius
@namedgraph_twitter
i mean if it parses then you’re good :) still don’t get what the list is for though
Fred Gibson
@gibsonf1
The issue is that with predicates, we typically are declaring a generic relation between subject and object, but the generic relation itself needs the addition of has or of (by with, to from, in out, etc etc) to indicate how the relation operates between the two. Without nesting the relation with the preposition, you are then forced to create countless "hard coded" predicates. In our case, we always have to have the inverse available for every predicate, and many ontologies simply ignore declaring an inverse, so as your predicate library grows, this becomes infeasible to maintain. For example, rdfs:subPropertyOf is declaring that the subject is a subProperty with respect to the object. (of subProperty) the inverse of this is not in the ontology, but (has subProperty) would cover it nicely. Under the hood, we are computing with predicates which is why this is an issue.
Additionally, the system on serializing in the rdf, converts it to the true list:
TRINITY> (node-value !"6|o.object.ttk-4.3")
(!"6|gmxo:18ul" !"6|foaf:name")
Martynas Jusevicius
@namedgraph_twitter
can’t you just use an OWL reasoner to infer inverse properties?
your example looks like a data structure encoded in RDF more than a domain ontology
Martynas Jusevicius
@namedgraph_twitter
or its instance data
Fred Gibson
@gibsonf1
I guess in the bigger picture, its about enabling highly nested functions to act as the predicate
Martynas Jusevicius
@namedgraph_twitter
Fred Gibson
@gibsonf1
Not really, this is just used for pattern matching. We are using it for conceptual computing in the same way we humans "think"
The anology is that our system uses RDF in the same we we humans use writing. We read the RDF into the "brain" think about and understand it, then communicate what we've learned etc by writing back out in RDF
So like the text on the page of a book, the RDF is just a serialization of thinking, not the thinking itself. Pattern matching on RDF triples can be very useful, but it's not "understanding" what a Person is, for example.
Martynas Jusevicius
@namedgraph_twitter
so what does your example above serialize?
Fred Gibson
@gibsonf1
We have a statement reasoner that infers many things from a given statement, and in this specific example, the system would use the (has name) list to "understand" that because of "has", the subject would be attributed with the name in the object position, and the object would also be of type name (among other things)
and of course, these predicates can be further nested to become quite sophisticated
in our case, being a lisp based server, the first element of the list is always a reference to the function that needs to be executed, with the remaining members of the list the arguments to give to the function
sideshowtom
@sideshowtom
Sorry to intrude, but its interesting. Maybe you can mix imperative commands in with the declarative RDF that way. Maybe the UI form language could use that idea to say how something should be rendered.
Martynas Jusevicius
@namedgraph_twitter
@gibsonf1 is this GOFAI or ML-based?
Fred Gibson
@gibsonf1
@namedgraph_twitter It's a new paradigm taking a fully human approach to how we remember the world, conceptually think about the world, understand and learn from the world, predict what might happen next, etc. We are using Stephen Wolfram's new revolutionary discoveries in Space, Time and Causality in how we model the physics of the world. So we don't use GOFAI which I would call symbolic pattern matching, or ML which one could call perceptual pattern matching - both of which can't ever give understanding. We do plan to use a little bit of ML for help with perceptual tasks that we then reason about conceptually.
Fred Gibson
@gibsonf1
For container URIs, is it acceptable to use non hard-coded uris (for example an auto-generated radix) so that all information about the container lives with the associated triples rather than the uri path? I'm just not a fan of hard-coded paths as then when the user wants to move the container, its a bit of a mess
This spec looks like forcing uri semantics is required? https://solid.github.io/specification/#uri