コード例 #1
0
 def __get_num_triples_in_database(self):
     query = """
     SELECT (COUNT(*) AS ?no) { ?s ?p ?o  }
     """
     result = sparql.query(query,self.__url_query)
     numResults = result["results"]["bindings"][0]["no"]["value"]
     return numResults
コード例 #2
0
    def convert_value(self,source_unit_url,destination_unit_url,source_value):
        if not self.get_unit_class(source_unit_url) == self.get_unit_class(destination_unit_url):
            raise ValueError
            
        query = '''
        PREFIX qudt: <http://qudt.org/schema/qudt#>
        SELECT
        ?sou_offset ?sou_mult ?des_offset ?des_mult
        WHERE
        {{
        <{source}> qudt:conversionOffset ?sou_offset.
        <{source}> qudt:conversionMultiplier ?sou_mult.
        <{destin}> qudt:conversionOffset ?des_offset.
        <{destin}> qudt:conversionMultiplier ?des_mult.
        }}'''
        take = lambda x: (float(x["results"]["bindings"][0]["sou_offset"]["value"]),
                          float(x["results"]["bindings"][0]["sou_mult"]["value"]),
                          float(x["results"]["bindings"][0]["des_offset"]["value"]),
                          float(x["results"]["bindings"][0]["des_mult"]["value"]))
        result = sparql.query(query.format(source = source_unit_url,
                                           destin = destination_unit_url),self.__url_query)
    
        if result["results"]["bindings"] == []: raise ValueError
        
        sou_offset,sou_mult,des_offset,des_mult = take(result)

        des_value = ((sou_offset - des_offset) + float(source_value)) * sou_mult / float(des_mult)
        return des_value
コード例 #3
0
    def convert_value(self, source_unit_url, destination_unit_url,
                      source_value):
        if not self.get_unit_class(source_unit_url) == self.get_unit_class(
                destination_unit_url):
            raise ValueError

        query = '''
        PREFIX qudt: <http://qudt.org/schema/qudt#>
        SELECT
        ?sou_offset ?sou_mult ?des_offset ?des_mult
        WHERE
        {{
        <{source}> qudt:conversionOffset ?sou_offset.
        <{source}> qudt:conversionMultiplier ?sou_mult.
        <{destin}> qudt:conversionOffset ?des_offset.
        <{destin}> qudt:conversionMultiplier ?des_mult.
        }}'''
        take = lambda x: (
            float(x["results"]["bindings"][0]["sou_offset"]["value"]),
            float(x["results"]["bindings"][0]["sou_mult"]["value"]),
            float(x["results"]["bindings"][0]["des_offset"]["value"]),
            float(x["results"]["bindings"][0]["des_mult"]["value"]))
        result = sparql.query(
            query.format(source=source_unit_url, destin=destination_unit_url),
            self.__url_query)

        if result["results"]["bindings"] == []: raise ValueError

        sou_offset, sou_mult, des_offset, des_mult = take(result)

        des_value = ((sou_offset - des_offset) +
                     float(source_value)) * sou_mult / float(des_mult)
        return des_value
コード例 #4
0
 def __get_num_triples_in_database(self):
     query = """
     SELECT (COUNT(*) AS ?no) { ?s ?p ?o  }
     """
     result = sparql.query(query, self.__url_query)
     numResults = result["results"]["bindings"][0]["no"]["value"]
     return numResults
コード例 #5
0
 def get_mult_factor(self, unit):
     query = '''
     PREFIX qudt: <http://qudt.org/schema/qudt#>
     SELECT
     ?mult
     WHERE
     {{
     <{unit}> qudt:conversionMultiplier ?mult
     }}
     '''
     return sparql.query(query.format(unit = unit),self.__url_query)
コード例 #6
0
 def get_offset(self, unit):
     query = '''
     PREFIX qudt: <http://qudt.org/schema/qudt#>
     SELECT
     ?offset
     WHERE
     {{
     <{unit}> qudt:conversionOffset ?offset.
     }}
     '''
     return sparql.query(query.format(unit = unit),self.__url_query)
コード例 #7
0
 def get_units_in_class(self, ClassURL):
     query = """PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                SELECT
                ?unit 
                WHERE 
                {
                  ?unit rdf:type <%s> 
                }"""
     query = query % ClassURL
     result = sparql.query(query, self.__url_query)
     return result
コード例 #8
0
 def get_units_in_class(self,ClassURL):
     query = """PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                SELECT
                ?unit 
                WHERE 
                {
                  ?unit rdf:type <%s> 
                }"""
     query = query % ClassURL
     result = sparql.query(query, self.__url_query)
     return result
コード例 #9
0
 def get_mult_factor(self, unit):
     query = '''
     PREFIX qudt: <http://qudt.org/schema/qudt#>
     SELECT
     ?mult
     WHERE
     {{
     <{unit}> qudt:conversionMultiplier ?mult
     }}
     '''
     return sparql.query(query.format(unit=unit), self.__url_query)
コード例 #10
0
 def get_offset(self, unit):
     query = '''
     PREFIX qudt: <http://qudt.org/schema/qudt#>
     SELECT
     ?offset
     WHERE
     {{
     <{unit}> qudt:conversionOffset ?offset.
     }}
     '''
     return sparql.query(query.format(unit=unit), self.__url_query)
コード例 #11
0
 def __get_sym(self, UnitURL):
     query = '''
     PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
     PREFIX qudt: <http://qudt.org/schema/qudt#>
     SELECT ?symbol
     WHERE
     {{ 
     <{unitURL}> qudt:quantityKind ?kind.
     ?symbol qudt:referenceQuantity ?kind
     }}
     '''
     return sparql.query(query.format(unitURL=UnitURL), self.__url_query)
コード例 #12
0
 def __get_sym(self, UnitURL):
     query = '''
     PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
     PREFIX qudt: <http://qudt.org/schema/qudt#>
     SELECT ?symbol
     WHERE
     {{ 
     <{unitURL}> qudt:quantityKind ?kind.
     ?symbol qudt:referenceQuantity ?kind
     }}
     '''
     return sparql.query(query.format(unitURL = UnitURL),self.__url_query)
コード例 #13
0
 def get_unit_class(self, UnitURL):
     query = """PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                PREFIX owl: <http://www.w3.org/2002/07/owl#>
                SELECT
                ?class 
                WHERE
                {
                  <%s> rdf:type ?class. 
                  FILTER NOT EXISTS{?class rdf:type owl:DeprecatedClass}
                }"""
     query = query % UnitURL
     result = sparql.query(query, self.__url_query)
     return result
コード例 #14
0
 def list_all_unit_classes(self):
     query = """ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
                 SELECT
                 ?class
                 WHERE
                 { <http://qudt.org/schema/qudt#Unit> ^rdfs:subClassOf+ ?class
                 }"""
     result = sparql.query(query, self.__url_query)
     unitClasses = []
     for item in result["results"]["bindings"]:
         classURI = item["class"]["value"]
         unitClasses.append(classURI)
     return unitClasses
コード例 #15
0
 def get_SI_vector(self, si_sym):
     query = '''
     PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
     PREFIX qudt:<http://qudt.org/schema/qudt#>
     SELECT ?vec
     WHERE
     {{ 
     
     <{si_sym}> qudt:dimensionVector ?vecs.
     ?vecs qudt:basisElement ?vec.
     }}
     '''
     return sparql.query(query.format(si_sym = si_sym),self.__url_query)
コード例 #16
0
 def list_all_unit_classes(self):
     query = """ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
                 SELECT
                 ?class
                 WHERE
                 { <http://qudt.org/schema/qudt#Unit> ^rdfs:subClassOf+ ?class
                 }"""
     result = sparql.query(query,self.__url_query)
     unitClasses = []
     for item in result["results"]["bindings"]:
         classURI = item["class"]["value"]
         unitClasses.append( classURI )
     return unitClasses
コード例 #17
0
 def get_SI_vector(self, si_sym):
     query = '''
     PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
     PREFIX qudt:<http://qudt.org/schema/qudt#>
     SELECT ?vec
     WHERE
     {{ 
     
     <{si_sym}> qudt:dimensionVector ?vecs.
     ?vecs qudt:basisElement ?vec.
     }}
     '''
     return sparql.query(query.format(si_sym=si_sym), self.__url_query)
コード例 #18
0
 def get_unit_class(self,UnitURL):
     query = """PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                PREFIX owl: <http://www.w3.org/2002/07/owl#>
                SELECT
                ?class 
                WHERE
                {
                  <%s> rdf:type ?class. 
                  FILTER NOT EXISTS{?class rdf:type owl:DeprecatedClass}
                }"""
     query = query %UnitURL
     result = sparql.query(query,self.__url_query)
     return result
コード例 #19
0
 def list_domain_tool_unit_classes(self):
     query = """PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
                PREFIX qudt4dt: <http://qudt4dt.org/ontology#>
                SELECT
                ?class
                WHERE
                { 
                  qudt4dt:DomainToolUnit ^rdfs:subClassOf+ ?class
                }"""
     result = sparql.query(query, self.__url_query)
     unitClasses = []
     for item in result["results"]["bindings"]:
         classURI = item["class"]["value"]
         unitClasses.append(classURI)
     return unitClasses
コード例 #20
0
 def list_domain_tool_unit_classes(self):
     query = """PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
                PREFIX qudt4dt: <http://qudt4dt.org/ontology#>
                SELECT
                ?class
                WHERE
                { 
                  qudt4dt:DomainToolUnit ^rdfs:subClassOf+ ?class
                }"""
     result = sparql.query(query, self.__url_query)
     unitClasses = []
     for item in result["results"]["bindings"]:
         classURI = item["class"]["value"]
         unitClasses.append( classURI )
     return unitClasses