Пример #1
0
    def __create_outer_quer_model(query_model1, query_model2):
        """
        Joins the prefixes, offset, limit, order and select clauses and variables of the two query models.
        Doesn't add the from clause from both variables
        :param query_model1:
        :param query_model2:
        :return: an outer query model
        """
        query_model = QueryModel()
        #query_model.from_clause.clear()
        query_model.add_prefixes(query_model1.prefixes)
        query_model.add_prefixes(query_model2.prefixes)

        query_model.set_offset(min(query_model1.offset, query_model2.offset))
        query_model.set_limit(max(query_model1.limit, query_model2.limit))
        query_model.add_order_columns(query_model1.order_clause)
        query_model.add_order_columns(query_model2.order_clause)

        # TODO: WHY do this here?
        # union the select columns
        if len(query_model1.select_columns) > 0 and len(query_model1.select_columns) > 0:
            query_model.select_columns = query_model1.select_columns.union(query_model2.select_columns)
        elif len(query_model1.select_columns) > 0:
            query_model.select_columns = query_model1.select_columns.union(query_model2.variables)
        elif len(query_model2.select_columns) > 0:
            query_model.select_columns = query_model1.variables.union(query_model2.select_columns)
        # union the variables
        query_model.variables = query_model1.variables.union(query_model2.variables)

        return query_model
Пример #2
0
        "to": "http://twitter.com/ontology/",
        "dcterms": "http://purl.org/dc/terms/",
        "xsd": "http://www.example.org/",
        "foaf": "http://xmlns.com/foaf/0.1/",
    }
    twitterquery.add_prefixes(prefixes)
    twitterquery.add_graphs(["http://twitter.com/"])
    twitterquery.add_variable("tweep")
    twitterquery.add_subquery(subquery)
    twitterquery.add_triple("tweet", "sioc:has_creater", "tweep")
    twitterquery.add_triple("tweet", " sioc:content", "text")
    twitterquery.add_optional_triples("tweet", "sioc:mentions", "mentions")
    twitterquery.add_triple("tweet", "to:hashashtag", "hashtag")
    twitterquery.add_triple("tweet", 'dcterms:created', 'date')
    twitterquery.add_triple("tweet", 'to:hasmedia', 'multimedia')
    twitterquery.add_order_columns([("tweep", "ASC")])
    twitterquery.add_select_column("tweet")
    twitterquery.add_select_column("tweep")
    twitterquery.add_select_column("text")
    twitterquery.add_select_column("date")
    twitterquery.add_select_column("hashtag")
    twitterquery.add_select_column("mentions")
    twitterquery.add_select_column("multimedia")

    #twitterquery.add_variable("text")
    #twitterquery.add_variable("hashtag")
    #twitterquery.add_variable("mentions")

    #twitterquery.add_filter_condition("hashtag"," < 7")

    print(twitterquery.to_sparql())