日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務,提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了使用rdf4j將元組轉換為json的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

問題是這樣的:在解析SPARQL查詢時,我得到了簡化的ast,我需要將它傳遞給第三方庫進行進一步處理,但開箱即用的功能(Rdf4j)不允許以機器可讀的格式傳輸ast,我只想以json格式接收tex。

        StringBuilder qb = new StringBuilder();
        qb.append("    PREFIX has_vaccine_allergen: <http://purl.obolibrary.org/obo/VO_0000531>
" +
                "    PREFIX chicken_egg_protein_allergen: <http://purl.obolibrary.org/obo/VO_0000912>   
" +
                "    SELECT distinct ?vaccine_label ?vaccine 
" +
                "    FROM <http://purl.obolibrary.org/obo/merged/VO>
" +
                "    WHERE {
" +
                "        ?vaccine rdfs:label ?vaccine_label .
" +
                "        ?vaccine rdfs:subClassOf ?vaccine_restriction .
" +
                "        ?vaccine_restriction owl:onProperty has_vaccine_allergen:; owl:someValuesFrom chicken_egg_protein_allergen: .
" +
                "	}");
        SPARQLParser parser = new SPARQLParser();

        ParsedTupleQuery q = (ParsedTupleQuery)parser.parseQuery(qb.toString(), null);
        TupleExpr te = q.getTupleExpr();
        System.out.println(te);

代碼執(zhí)行結果:

SelectQuery
[PrefixDecl (prefix=has_vaccine_allergen), PrefixDecl (prefix=chicken_egg_protein_allergen), SelectQuery]
Distinct
   Projection
      ProjectionElemList
         ProjectionElem "vaccine_label"
         ProjectionElem "vaccine"
      Join
         Join
            Join
               StatementPattern
                  Var (name=vaccine)
                  Var (name=_const_9285ccfc_uri, value=http://www.w3.org/2000/01/rdf-schema#label, anonymous)
                  Var (name=vaccine_label)
               StatementPattern
                  Var (name=vaccine)
                  Var (name=_const_4592be07_uri, value=http://www.w3.org/2000/01/rdf-schema#subClassOf, anonymous)
                  Var (name=vaccine_restriction)
            StatementPattern
               Var (name=vaccine_restriction)
               Var (name=_const_a509c4e0_uri, value=http://www.w3.org/2002/07/owl#onProperty, anonymous)
               Var (name=_const_3319983d_uri, value=http://purl.obolibrary.org/obo/VO_0000531, anonymous)
         StatementPattern
            Var (name=vaccine_restriction)
            Var (name=_const_6539d60c_uri, value=http://www.w3.org/2002/07/owl#someValuesFrom, anonymous)
            Var (name=_const_3319a704_uri, value=http://purl.obolibrary.org/obo/VO_0000912, anonymous)

我需要將其轉換為json格式

RDF4J

首先:TupleExpr對象(及其下面的樹)不是抽象語法樹,而是推薦答案的查詢代數(shù)模型。如果希望直接處理SPARQL查詢的AST,可以使用SyntaxTreeBuilder.parseQuery(queryString)接收實際的AST。也就是說,對AST或代數(shù)模型執(zhí)行查詢重新處理可以起作用,這在一定程度上取決于您的輸出到底應該做什么,哪一個是最佳選擇。

對于AST或查詢代數(shù)模型,RDF4J具有抽象的Visitor實現(xiàn),您可以根據(jù)自己的需要自由擴展這些實現(xiàn)。對于AST樹,AbstractASTVisitor是一個很好的起點(確保您選擇了正確的起點,RDF4J有兩個:一個用于SeRQL,一個用于SPARQL)。對于查詢代數(shù)模型,從AbstractQueryModelVisitor開始。在RDF4J代碼庫本身中有大量實現(xiàn)這兩種方法的示例。典型的模式是覆蓋要定義自己行為的meet方法,并在處理不是葉的節(jié)點時注意在末尾調用super.meet()

這篇關于使用rdf4j將元組轉換為json的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標簽:JSON rdf4j 將元組 轉換為
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定