SPARQL ElementPathBlock











up vote
0
down vote

favorite












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 at 17:32















up vote
0
down vote

favorite












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 at 17:32













up vote
0
down vote

favorite









up vote
0
down vote

favorite











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 at 21:39









user6910411

32.3k86693




32.3k86693










asked Nov 22 at 16:15









Jesú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 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 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 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 at 17:32












1 Answer
1






active

oldest

votes

















up vote
0
down vote













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',
    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








    up vote
    0
    down vote













    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

























      up vote
      0
      down vote













      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























        up vote
        0
        down vote










        up vote
        0
        down vote









        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 at 9:59









        Jesú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.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • 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

            What visual should I use to simply compare current year value vs last year in Power BI desktop

            Alexandru Averescu

            Trompette piccolo