Both RDF/XML and JSON-LD have the problem that there are so many syntactic variations for the same graph. They both offer various rendering options, JSON-LD also has a notion of context that makes it even less predictable. So basically those developers who want to use it just like any other JSON need to define a very specific subset of JSON-LD or else they need to go through a graph data structure, which defeats the purpose of having the JSON tree structure in the first place. Of course, as long as you follow one very strict subset of JSON-LD then you may be able to benefit from the best of both worlds: having a "normal" JSON serialization while being also compatible with infrastructure that understands RDF.

Holger


On 2021-03-19 5:25 pm, 'Bohms, H.M. (Michel)' via TopBraid Suite Users wrote:

Thx, VERY interesting

Quite strong statements (ora) from a semantic web principal….

At the same time I think he is not very clear in arguments why he thinks that way (json just being next xml)

I am more in the Newres/Gregg camp I think…

When ora says: It is never just JSON, ever”

Does he mean: people are making mistakes (like your next feedback there) or “there is much more non-json out there”?

And he also repeats all the time: syntax is not the issue…ok, semantics is bigger issue but isn’t that possible for json-ld then in rdfs/owl/shacl/json schema/json-ld/graphql schema… etc. (so I do not get the point)

michel

        

Dr. ir. H.M. (Michel) Bohms
Scientist Specialist
Structural Reliability

        

T +31 (0)88 866 31 07
M +31 (0)63 038 12 20
E [email protected] <mailto:[email protected]>

        

Location <http://www.tno.nl/locations/DTS>

<http://www.tno.nl/>

This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. TNO accepts no liability for the content of this e-mail, for the manner in which you use it and for damage of any kind resulting from the risks inherent to the electronic transmission of messages.


*Van:* [email protected] <[email protected]> *Namens *Holger Knublauch
*Verzonden:* vrijdag 19 maart 2021 00:06
*Aan:* [email protected]
*Onderwerp:* Re: [topbraid-users] json-ld question

On 2021-03-19 2:28 am, 'Bohms, H.M. (Michel)' via TopBraid Suite Users wrote:

    Right!

    I see indeed that the “webdev world only” data modelling
    capabilities (graphql schema, json/json-ld, json schema, …) are
    limited compared to RDFS/OWL/SHACL/SHACL-AF.

    I wonder how the “LD-haters”

https://twitter.com/oralassila/status/1364946776252420103 <https://twitter.com/oralassila/status/1364946776252420103>

Holger

    would deal with that….guess they just code it.

    Avro was new to me…(https://en.wikipedia.org/wiki/Apache_Avro
    <https://en.wikipedia.org/wiki/Apache_Avro>, yet another data
    language)

    Thx for the paper!

    I see also the advantages of your ‘graphql-ld’ approach over Ghent
    keeping the  GraphQL Schema in the picture.

    I was more wondering whether graphql (and graphql schema) could
    use json-ld treatment more as first class citizen in some official
    GraphQL*-LD (GraphQL Schema-LD) * instead of just as being a
    special version of json… (in a sense standardizing the kind of
    extensions you did)

    (I see this discussion in their lists without clear answers though)

    Thx michel

        

    Dr. ir. H.M. (Michel) Bohms
    Scientist Specialist
    Structural Reliability

        

    T +31 (0)88 866 31 07
    M +31 (0)63 038 12 20
    E [email protected] <mailto:[email protected]>

        

    Location <http://www.tno.nl/locations/DTS>

    <http://www.tno.nl/>

    This message may contain information that is not intended for you.
    If you are not the addressee or if this message was sent to you by
    mistake, you are requested to inform the sender and delete the
    message. TNO accepts no liability for the content of this e-mail,
    for the manner in which you use it and for damage of any kind
    resulting from the risks inherent to the electronic transmission
    of messages.


    *Van:* [email protected]
    <mailto:[email protected]>
    <[email protected]>
    <mailto:[email protected]> *Namens *Irene Polikoff
    *Verzonden:* donderdag 18 maart 2021 16:45
    *Aan:* [email protected]
    <mailto:[email protected]>
    *Onderwerp:* Re: [topbraid-users] json-ld question




        On Mar 18, 2021, at 10:21 AM, David Price
        <[email protected] <mailto:[email protected]>> wrote:




            On 18 Mar 2021, at 13:01, 'Bohms, H.M. (Michel)' via
            TopBraid Suite Users <[email protected]
            <mailto:[email protected]>> wrote:

            Not really TBC questions but I guess you can give the best
            answer.

            I see popularity of json-ld rising a lot (as optimal
            compromise between webdev and ld/sw world) where people
            might just forget about the (for them) complex RDF
            conceptuals above….

        JSON-LD does nothing to reduce the complex concepts that might
        be defined in RDFS, OWL or SHACL data models.  JSON-LD is an
        implementation format for RDF-based data. Without the
        underlying RDF-based model there is no JSON-LD.

    I interpreted Michel’s words to be about complexity of
    understanding/using RDF data structures and technologies when
    developing applications vs making it possible for developers to
    stay in the JSON word. I did not think he was talking about data
    models. If one stays solely within the JSON stack, the need for
    data models is addressed by things like GraphQL Schema, JSON
    Schema and Avro. They are pretty simple schema languages with
    minimal expressivity.

    I am attaching a presentation that may be useful in understanding
    why we believe the combination of SHACL with GraphQL is more
    powerful than just GraphQL Schema and GraphQL.

-- You received this message because you are subscribed to the Google
    Groups "TopBraid Suite Users" group.
    To unsubscribe from this group and stop receiving emails from it,
    send an email to [email protected]
    <mailto:[email protected]>.
    To view this discussion on the web visit
    
https://groups.google.com/d/msgid/topbraid-users/3548DDA7-14A7-41F9-8314-1C590149FB96%40topquadrant.com
    
<https://groups.google.com/d/msgid/topbraid-users/3548DDA7-14A7-41F9-8314-1C590149FB96%40topquadrant.com?utm_medium=email&utm_source=footer>.

    GraphQL tools and infrastructure rely on having GraphQL Schema. I
    am referring to tools such as GraphiQL which we integrated into
    EDG to provide interactive, syntax directed query development and
    she documentation capabilities expected by the GraphQL query
    developers. This is why EDG autogenerates GraphQL Schema to enable
    GraphQL query.

    Our approach is different from Ghent University:

    Ghent University implementation translates GraphQL queries into
    SPARQL, then runs SPARQL over RDF data. So, this is something that
    could potentially sit in front of any SPARQL endpoint. I would,
    however, expect the (necessary to this approach) heavy use of
    OPTIONAL in the generated SPARQL to create performance problems
    for SPARQL endpoints. Their use of JSON-LD is about taking
    advantage of JSON-LD context to map textual ids in GraphQL e.g.,
    “prefLabel” to the full URI.

    In this approach, there is no GraphQL Schema to drive GraphQL
    tools or to provide documentation to GraphQL developers as to what
    they could actually query for. The GraphQL capabilities are
    limited to vanilla GraphQL. GraphQL is a small and simple language
    for APIs with the built-in ability to extend it and most GraphQL
    implementations add such extensions. There is no way to define or
    provide extended GraphQL query capabilities or to query the model
    itself, etc.

    TopBraid EDG generates enhanced GraphQL Schemas from SHACL. The
    schema then enables GraphQL query. One of the benefits of this
    approach is easy/seamless integration with the GraphQL tools and
    ecosystem. GraphQL directives are used to hold information
    necessary to create unique identifiers, so there is no need to
    craft or use JSON-LD contexts. GraphQL infrastructure would not be
    expected to understand or require JSON-LD context. Directives are
    also use to describe the extended query capabilities. I will not
    try to repeat in text other points described in the presentation
    above.

    Overall, Holger is probably the best person to address this question.




        It makes sense for Web developers to use anything making
        Javascript development easier (e.g. eliminating having to
        learn a new format/syntax) . So, for that scenario JSON-LD may
        very well be their preference.

        However, most folks think TTL is easier to read and write in a
        text editor, for example vs JSON-LD or RDF/XML. Also, if you
        don’t know/prefer Javascript and JSON you may not going to
        prefer JSON-LD or if your application is not browser-based
        then it may actually be a Con, not a Pro.




            In that sense I see more and more projects that go json-ld
            (iso rdf/xml, turtle etc.) also involving storage options
            like mongodb iso triple/quad stores. At the same time
            people like graphql(-ld) over sparql.

        Probably depends on if you come from a database vs. Web
        developer background as much as anything else.




            These trends gives rise for me to some issues:

            1.

            If RDF* evolves bringing us better metadata options
            (treating statements as objects again) on LD side would
            that also give rise to a JSON-LD* next to Turtle*?

            Or is json-ld already by itself more flexible here so that
            no change is needed? (ie is the current use of json-ld as
            RDF serialization an already restricted usage?)

            I am trying to find out if turtle and hence Turtle* will
            have advantages over json-ld…

        Until we see the final “standards” we cannot be 100% sure, but
        it seems unlikely one will be better than the other wrt this
        question. I imagine the criteria for choosing between them in
        a specific scenario is unlikely to change. Again, we’ll have
        to wait and see though as nobody knows right now.




            2.

            I know graphQL-LD approach as defined/demonstrated etc. by
            Ghent university
            (https://comunica.github.io/Article-ISWC2018-Demo-GraphQlLD/
            <https://comunica.github.io/Article-ISWC2018-Demo-GraphQlLD/>).

            Is your prefixes graphql schema extension doing
            (functionaly) the same?

        Our Web site says:

        /Query schemas for use with GraphQL are automatically
        generated from the data models. This includes powerful
        features to select, filter, aggregate, dynamically compute and
        page results. For even more power, full support for SPARQL
        expressions is available from GraphQL queries. Data updates
        are automatically validated using SHACL shapes./

        So I’ll guess not exactly the same as what Ghent is doing.




            If so isn’t there room for a_standard_graph-ql-ld variant
            having those extensions in a standard way?

            Or… is such a GraphQL update already in the making (much a
            like json to json-ld)?

        There is a working draft next release of GraphQL online but it
        does not mention this topic as far as I can tell. I’m not a
        GraphQL expert though.




            3.

            What will happen in future: shacl or graphql schema or both?

            (knowing slide no. 20
            from:https://www.topquadrant.com/project/graphql_json_rdf/
            <https://www.topquadrant.com/project/graphql_json_rdf/>)

        If you mean in EDG for the next few years, then “both”. Cannot
        say for others.




            4.

            Why is there a graphql schema language anyway? Why not use
            json-ld schema definitions for that (because it is not
            powerful enough)?

            (like inschema.org <http://schema.org/>if I am right)

            Sorry if these questions are out of scope.

            It’s just that I need some story when people ask “why do
            we have shacl/sparql, graphql schema/graphql, json-ld for
            schemas (and also json schema)….can’t you make up your
            mind?”😊

    To add to what David says below, even within a single
    community/technology, it is common to have multiple
    solutions/approaches to addressing needs. This is not unique to
    RDF/Linked Data/Semantic Web technologies. For example, with XML
    you have two popular approaches to schema languages: XML Schema
    and RelaxNG. With JSON you have JSON Schema, Avro and GraphQL
    Schema. And so on.




        That answer is simple - there is no “your mind”. Many
        communities are involved in these standards and in industry
        and each have their own needs/priorities. It’s a bit like
        asking why we have Java and C and C++ and Python and
        Javascript and Scala and Ruby.

        That said, your list mixes things up a bit.

        SPARQL is based on RDF, and RDF alone. It has nothing to do
        with OWL or SHACL or TTL vs JSON-LD, etc. RDF and SPARQL are
        W3C standards, produced by a consensus of members.

        RDFS, OWL and SHACL are “modelling” languages that are built
        over RDF. W3C standards, produced by a consensus of members.

        RDF/XML, N-Triples, TTL, JSON-LD, etc. are all exchange
        encodings and each has their pros and cons for different
        scenarios providing software developers with options. W3C
        standards, produced by a consensus of members.

        GraphQL was a language invented by Facebook, so nothing to do
        with RDF as they did not use RDF for their knowledge graph.
        Not a formal standard.

        You’d have to ask Facebook why they did not want to use
        JSON-LD for schemas (I imagine because it is from RDF-land).
        TopBraid EDG supports it because, for example, it allows
        non-RDF-literate software developers to query RDF data without
        using SPARQL.

        It’s seldom you find best practices’ available of the form for
        any information technology:

        When X is your problem, then Y and Z are the best
        practice approach.

        When A is your problem, then B and C are the best practice
        approach.

        In other words, there are benefits to having options because
        that lets *You* make up your mind based on what’s best for
        your situation. Most enterprises depend on knowledgable
        systems/software architect to help answer that kind of question.

        Cheers,

        David




            Thx for your views

            Michel

                

            Dr. ir. H.M. (Michel) Bohms
            Scientist Specialist
            Structural Reliability

                

            T +31 (0)88 866 31 07
            M +31 (0)63 038 12 20
            E [email protected] <mailto:[email protected]>

                

            Location <http://www.tno.nl/locations/DTS>

            <image001.gif> <http://www.tno.nl/>

            This message may contain information that is not intended
            for you. If you are not the addressee or if this message
            was sent to you by mistake, you are requested to inform
            the sender and delete the message. TNO accepts no
            liability for the content of this e-mail, for the manner
            in which you use it and for damage of any kind resulting
            from the risks inherent to the electronic transmission of
            messages.


            --
            You received this message because you are subscribed to
            the Google Groups "TopBraid Suite Users" group.
            To unsubscribe from this group and stop receiving emails
            from it, send an email
            [email protected]
            <mailto:[email protected]>.
            To view this discussion on the web
            
visithttps://groups.google.com/d/msgid/topbraid-users/5402dc770eb948068fe971f523d7879e%40tno.nl
            
<https://groups.google.com/d/msgid/topbraid-users/5402dc770eb948068fe971f523d7879e%40tno.nl?utm_medium=email&utm_source=footer>.

        UK +44 (0) 7788 561308

        US +1 (336) 283-0808

-- You received this message because you are subscribed to the
        Google Groups "TopBraid Suite Users" group.
        To unsubscribe from this group and stop receiving emails from
        it, send an email to
        [email protected]
        <mailto:[email protected]>.
        To view this discussion on the web visit
        
https://groups.google.com/d/msgid/topbraid-users/242E6E67-AA35-47FB-B836-438F84EE42C6%40topquadrant.com
        
<https://groups.google.com/d/msgid/topbraid-users/242E6E67-AA35-47FB-B836-438F84EE42C6%40topquadrant.com?utm_medium=email&utm_source=footer>.

-- You received this message because you are subscribed to the Google
    Groups "TopBraid Suite Users" group.
    To unsubscribe from this group and stop receiving emails from it,
    send an email to [email protected]
    <mailto:[email protected]>.
    To view this discussion on the web visit
    
https://groups.google.com/d/msgid/topbraid-users/3548DDA7-14A7-41F9-8314-1C590149FB96%40topquadrant.com
    
<https://groups.google.com/d/msgid/topbraid-users/3548DDA7-14A7-41F9-8314-1C590149FB96%40topquadrant.com?utm_medium=email&utm_source=footer>.

-- You received this message because you are subscribed to the Google
    Groups "TopBraid Suite Users" group.
    To unsubscribe from this group and stop receiving emails from it,
    send an email to [email protected]
    <mailto:[email protected]>.
    To view this discussion on the web visit
    
https://groups.google.com/d/msgid/topbraid-users/971d3d366d874dcea265391c5ab5b5be%40tno.nl
    
<https://groups.google.com/d/msgid/topbraid-users/971d3d366d874dcea265391c5ab5b5be%40tno.nl?utm_medium=email&utm_source=footer>.

--
You received this message because you are subscribed to the Google Groups "TopBraid Suite Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected] <mailto:[email protected]>. To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/f4c2c3ed-6b8c-6b04-9a11-b8426b5f61ce%40topquadrant.com <https://groups.google.com/d/msgid/topbraid-users/f4c2c3ed-6b8c-6b04-9a11-b8426b5f61ce%40topquadrant.com?utm_medium=email&utm_source=footer>.

--
You received this message because you are subscribed to the Google Groups "TopBraid Suite Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected] <mailto:[email protected]>. To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/7c512ec4d12542adb3636bc864b7b190%40tno.nl <https://groups.google.com/d/msgid/topbraid-users/7c512ec4d12542adb3636bc864b7b190%40tno.nl?utm_medium=email&utm_source=footer>.

--
You received this message because you are subscribed to the Google Groups "TopBraid 
Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/topbraid-users/7d8e2036-b0ee-0435-a737-ce8426a4241b%40topquadrant.com.

Reply via email to