- From: <henry.story@bblfish.net>
- Date: Fri, 27 Nov 2015 15:51:23 +0000
- To: Martynas Jusevičius <martynas@graphity.org>
- Cc: Semantic Web <semantic-web@w3.org>
> On 27 Nov 2015, at 15:44, Martynas Jusevičius <martynas@graphity.org> wrote:
>
> A new language? Really? Like 95% SPARQL, but incompatible?
yes. It's not the same thing. It can re-use a lot of what is there, but
clearly we are not querying a graph. It may just require to be a subset of
SPARQL. SPARQL itself is a variation of N3. And SPARQL PATCH is itself
an extension of SPARQL. This is not the first time this happens.
>
> This way you are aiming for the anecdotal xkcd 15 incompatible
> standards situation. That is exactly what is wrong with the
> semantic/LD ecosystem.
> There is a specification that does exactly what you want: encode HTML
> form data as RDF. It is called RDF/POST and is well specified.
> Essentially it's just another RDF syntax, we even have written a
> streaming parser for it.
>
> So the technology is not the issue. The issue is the "IndieWeb folks"
> (whatever IndieWeb is?) that are unwilling to, or unable to, learn new
> technologies that are best suited for the problem at hand. We need to
> educate developers to reuse existing specifications, not create new
> ones at every turn.
>
Don't really want to get in a discussion about all of that. I have other
things to do. This was just a thought. It may interest people, other not.
>
> Martynas
>
> On Fri, Nov 27, 2015 at 3:26 PM, henry.story@bblfish.net
> <henry.story@bblfish.net> wrote:
>>
>>> On 27 Nov 2015, at 14:21, Martynas Jusevičius <martynas@graphity.org> wrote:
>>>
>>> How would determine the datatypes of the values, or which values
>>> should be literals and which URIs? You can only do that in the WHERE
>>> clause (using BIND() for example), and it has to operate over an RDF
>>> graph. Or WHERE has to be empty as I suggested before.
>>
>> IN SPARQL the query has to operate over a GRAPH, but this is meant to
>> be a new language insipired and re-using as much of the work from SPARQL
>> as possible. Ideally one could take a few subsections of sparql and
>> produce it.
>>
>> You are right that one needs to find a way to deal with datatypes.
>> I point out in a number of places in
>> https://github.com/w3c-social/webmention/issues/11
>>
>> It would have been easy if one had been able to just specify the
>> datatype in the CONSTRUCT.
>>
>>
>> @prefix foaf: <http://xmlns.com/foaf/0.1/>.
>> @prefix contact: <http://www.w3.org/2000/10/swap/pim/contact#> .
>>
>> CONSTRUCT {
>> [] foaf:name ?name;
>> foaf:age ?age^^xsd:integer;
>> contact:home
>> [ a contact:ContactLocation;
>> contact:address [ contact:city ?city;
>> contact:country ?country;
>> contact:postalCode ?zip;
>> contact:street ?street
>> ] .
>> } WITH ?name ?age ?city ?country ?zip ?street
>>
>>
>> So yes, this is just an initial proposal, it is not fully fleshed out,
>> and one needs to see if the IndieWeb Camp folks actually would even want
>> to play along. But as I spent a few hours on this, perhaps others may
>> have other use cases for which they would find such a tool useful.
>>
>>
>>
>>>
>>> On Fri, Nov 27, 2015 at 3:17 PM, henry.story@bblfish.net
>>> <henry.story@bblfish.net> wrote:
>>>>
>>>> On 27 Nov 2015, at 14:13, Martynas Jusevičius <martynas@graphity.org> wrote:
>>>>
>>>> Well then you need a canonical mapping from www-encoded data to RDF before
>>>> you query. CONSTRUCT could work on that, but it will not help you define it.
>>>>
>>>> The only existing one I know is RDF/POST.
>>>>
>>>>
>>>> I don't agree that you need a canonical mapping from www-encoded data to
>>>> rdf.
>>>>
>>>> You can think of the attribute values as the response-set of a missing
>>>> WHERE.
>>>> So you only actually need the CONSTRUCT part.
>>>>
>>>> You do of course need the resource you are POSTing to, to return something
>>>> that
>>>> points to the transormation. This could be done with a Link header such as
>>>>
>>>> 200 Ok
>>>> Link: <http://w3c.org/social/WebMention>; rel="urlencoded"
>>>>
>>>>
>>>> as explained in https://github.com/w3c-social/webmention/issues/11
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Fri, 27 Nov 2015 at 14:53, henry.story@bblfish.net
>>>> <henry.story@bblfish.net> wrote:
>>>>>
>>>>>
>>>>>> On 27 Nov 2015, at 11:17, Martynas Jusevičius <martynas@graphity.org>
>>>>>> wrote:
>>>>>>
>>>>>> Where did you find the CONSTRUCT ... WITH query form though?
>>>>>
>>>>> I just invented it, a quick first idea for people to get the gist.
>>>>> Clearly what would be needed would be also some way of having optional
>>>>> form attributes.
>>>>>
>>>>>>
>>>>>> It could probably be just CONSTRUCT template with an empty WHERE {} on
>>>>>> which you apply the variable bindings.
>>>>>
>>>>> I don't think that would work. We are actually just doing a construct on
>>>>> an result set. The parameter values in the www-encoded POSTed content
>>>>> can be thought of as a result set.
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>> On Thu, Nov 26, 2015 at 7:53 PM, henry.story@bblfish.net
>>>>>> <henry.story@bblfish.net> wrote:
>>>>>>> That requires people getting people making such forms to learn RDF,
>>>>>>> which if
>>>>>>> you
>>>>>>> read the types of answers to issue 11 linked below, or if you interact
>>>>>>> with
>>>>>>> IndieWeb folks,
>>>>>>> you'll understand is unlikely. What is less unlikely is that the
>>>>>>> server
>>>>>>> provide a link
>>>>>>> to an interpretation. The interpretation can then be made machine
>>>>>>> readable
>>>>>>> in the way
>>>>>>> proposed.
>>>>>>>
>>>>>>>
>>>>>>> On 26 Nov 2015, at 18:47, Martynas Jusevičius <martynas@graphity.org>
>>>>>>> wrote:
>>>>>>>
>>>>>>> Can't you reuse RDF/POST for that?
>>>>>>> http://www.lsrn.org/semweb/rdfpost.html
>>>>>>>
>>>>>>> On Thu, 26 Nov 2015 at 19:38, henry.story@bblfish.net
>>>>>>> <henry.story@bblfish.net> wrote:
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> following a discussion with the IndieWeb folks on a pingback
>>>>>>>> protocol,
>>>>>>>> where we are trying to satisfy the constraints that the IndieWeb folks
>>>>>>>> live
>>>>>>>> by - which is very close to the first generation of the Web - and yet
>>>>>>>> who
>>>>>>>> want to work in a global web of data - the following requirement came
>>>>>>>> up: how can a resource make explicit its interpretation of web forms.
>>>>>>>>
>>>>>>>> I write this up here:
>>>>>>>> https://github.com/w3c-social/webmention/issues/11
>>>>>>>>
>>>>>>>> Essentially this would not entail very much other than creating a Link
>>>>>>>> realation
>>>>>>>> that could point to something like a document that would contain a
>>>>>>>> mapping
>>>>>>>> that could look like this
>>>>>>>>
>>>>>>>> [[
>>>>>>>> @prefix foaf: <http://xmlns.com/foaf/0.1/>.
>>>>>>>> @prefix contact: <http://www.w3.org/2000/10/swap/pim/contact#> .
>>>>>>>>
>>>>>>>> CONSTRUCT {
>>>>>>>> [] foaf:name ?name;
>>>>>>>> foaf:age ?age;
>>>>>>>> contact:home
>>>>>>>> [ a contact:ContactLocation;
>>>>>>>> contact:address [ contact:city ?city;
>>>>>>>> contact:country ?country;
>>>>>>>> contact:postalCode ?zip;
>>>>>>>> contact:street ?street
>>>>>>>> ] .
>>>>>>>> } WITH ?name ?age ?city ?country ?zip ?street
>>>>>>>> ]]
>>>>>>>>
>>>>>>>> where ?name ?age ?city etc would be the values of the properties taken
>>>>>>>> from the
>>>>>>>> application/x-www-form-urlencoded content sent in a POST.
>>>>>>>>
>>>>>>>> This should not be that much work to specify I suppose, especially for
>>>>>>>> the
>>>>>>>> SPARQL knowledgeable folks.
>>>>>>>>
>>>>>>>> Any feedback?
>>>>>>>>
>>>>>>>> Henry
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>
>>>>
>>
Received on Friday, 27 November 2015 15:52:03 UTC