SPARQL ElementPathBlock












0















In am trying to retrieve the triples of a SPARQL expression involved in the OPTIONAL and NON OPTIONAL part of the query, separately.



I used the API ARQ Jena visitor but neither ElementPathBlock nor ElementGroup nor ElementOptional are enough. ElementPathBlock retrieves all the triples, and ElementGroup retrieves the groups of triples (enclosed by {}), and ElementOptional the optional Elements.



Could you help me please?










share|improve this question

























  • The SPARQL structure is hierarchical, i.e. elements are usually nested. That means, the OPTIONAL might be inside an ElementGroup etc. ElementWalker is probably the way to go

    – AKSW
    Nov 22 '18 at 17:32
















0















In am trying to retrieve the triples of a SPARQL expression involved in the OPTIONAL and NON OPTIONAL part of the query, separately.



I used the API ARQ Jena visitor but neither ElementPathBlock nor ElementGroup nor ElementOptional are enough. ElementPathBlock retrieves all the triples, and ElementGroup retrieves the groups of triples (enclosed by {}), and ElementOptional the optional Elements.



Could you help me please?










share|improve this question

























  • The SPARQL structure is hierarchical, i.e. elements are usually nested. That means, the OPTIONAL might be inside an ElementGroup etc. ElementWalker is probably the way to go

    – AKSW
    Nov 22 '18 at 17:32














0












0








0








In am trying to retrieve the triples of a SPARQL expression involved in the OPTIONAL and NON OPTIONAL part of the query, separately.



I used the API ARQ Jena visitor but neither ElementPathBlock nor ElementGroup nor ElementOptional are enough. ElementPathBlock retrieves all the triples, and ElementGroup retrieves the groups of triples (enclosed by {}), and ElementOptional the optional Elements.



Could you help me please?










share|improve this question
















In am trying to retrieve the triples of a SPARQL expression involved in the OPTIONAL and NON OPTIONAL part of the query, separately.



I used the API ARQ Jena visitor but neither ElementPathBlock nor ElementGroup nor ElementOptional are enough. ElementPathBlock retrieves all the triples, and ElementGroup retrieves the groups of triples (enclosed by {}), and ElementOptional the optional Elements.



Could you help me please?







api sparql jena arq






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 22 '18 at 21:39









user6910411

33.2k97398




33.2k97398










asked Nov 22 '18 at 16:15









Jesús AlmendrosJesús Almendros

11




11













  • The SPARQL structure is hierarchical, i.e. elements are usually nested. That means, the OPTIONAL might be inside an ElementGroup etc. ElementWalker is probably the way to go

    – AKSW
    Nov 22 '18 at 17:32



















  • The SPARQL structure is hierarchical, i.e. elements are usually nested. That means, the OPTIONAL might be inside an ElementGroup etc. ElementWalker is probably the way to go

    – AKSW
    Nov 22 '18 at 17:32

















The SPARQL structure is hierarchical, i.e. elements are usually nested. That means, the OPTIONAL might be inside an ElementGroup etc. ElementWalker is probably the way to go

– AKSW
Nov 22 '18 at 17:32





The SPARQL structure is hierarchical, i.e. elements are usually nested. That means, the OPTIONAL might be inside an ElementGroup etc. ElementWalker is probably the way to go

– AKSW
Nov 22 '18 at 17:32












1 Answer
1






active

oldest

votes


















0














Thanks for your answer. I found the solution. I was using the ElementWalker as you suggested. However, ElementWalker is not useful (or I could not find the good way) for the traversal of a SPARQL query as usual, I means left-to-right and top-down traversal. I had to write my own method for the traversal of a SPARQL using instanceof, and each type of SPARQL expression: ElementPathBlock, ElementOptional, etc, and recursion. In this way, I was able to extract the optional part (and mandatory part) of the query, as well as union and minus, etc.






share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53434865%2fsparql-elementpathblock%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    Thanks for your answer. I found the solution. I was using the ElementWalker as you suggested. However, ElementWalker is not useful (or I could not find the good way) for the traversal of a SPARQL query as usual, I means left-to-right and top-down traversal. I had to write my own method for the traversal of a SPARQL using instanceof, and each type of SPARQL expression: ElementPathBlock, ElementOptional, etc, and recursion. In this way, I was able to extract the optional part (and mandatory part) of the query, as well as union and minus, etc.






    share|improve this answer




























      0














      Thanks for your answer. I found the solution. I was using the ElementWalker as you suggested. However, ElementWalker is not useful (or I could not find the good way) for the traversal of a SPARQL query as usual, I means left-to-right and top-down traversal. I had to write my own method for the traversal of a SPARQL using instanceof, and each type of SPARQL expression: ElementPathBlock, ElementOptional, etc, and recursion. In this way, I was able to extract the optional part (and mandatory part) of the query, as well as union and minus, etc.






      share|improve this answer


























        0












        0








        0







        Thanks for your answer. I found the solution. I was using the ElementWalker as you suggested. However, ElementWalker is not useful (or I could not find the good way) for the traversal of a SPARQL query as usual, I means left-to-right and top-down traversal. I had to write my own method for the traversal of a SPARQL using instanceof, and each type of SPARQL expression: ElementPathBlock, ElementOptional, etc, and recursion. In this way, I was able to extract the optional part (and mandatory part) of the query, as well as union and minus, etc.






        share|improve this answer













        Thanks for your answer. I found the solution. I was using the ElementWalker as you suggested. However, ElementWalker is not useful (or I could not find the good way) for the traversal of a SPARQL query as usual, I means left-to-right and top-down traversal. I had to write my own method for the traversal of a SPARQL using instanceof, and each type of SPARQL expression: ElementPathBlock, ElementOptional, etc, and recursion. In this way, I was able to extract the optional part (and mandatory part) of the query, as well as union and minus, etc.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Dec 5 '18 at 9:59









        Jesús AlmendrosJesús Almendros

        11




        11






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53434865%2fsparql-elementpathblock%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            404 Error Contact Form 7 ajax form submitting

            How to know if a Active Directory user can login interactively

            Refactoring coordinates for Minecraft Pi buildings written in Python