コード例 #1
0
 def test_insert_method(self):
     woqlObject = WOQLQuery().insert("v:Bike_URL", "Bicycle")
     woqlObjectDB = WOQLQuery().insert("v:Bike_URL", "Bicycle", "myDB")
     jsonObj = {"add_triple": ['v:Bike_URL', 'rdf:type', 'scm:Bicycle']}
     jsonObjDB = {
         "add_quad": ['v:Bike_URL', 'rdf:type', 'scm:Bicycle', 'db:myDB']
     }
     assert woqlObject.json() == jsonObj
     assert woqlObjectDB.json() == jsonObjDB
コード例 #2
0
    def test_chained_property_method(self):
        woqlObject = WOQLQuery().doctype("Journey")
        woqlObject = woqlObject.property("start_station",
                                         "Station").label("Start Station")

        woqlObject2 = WOQLQuery().doctype("Journey")
        woqlObject2.property("start_station", "Station").label("Start Station")

        assert woqlObject.json() == woqlObject2.json()
コード例 #3
0
    def test_when_method(self):

        woqlObject = WOQLQuery().when(True, WOQLQuery().add_class("id"))
        woqlObjectChain = WOQLQuery().when(True).add_class("id")
        jsonObj = {
            'when': [{
                "true": []
            }, {
                'add_quad': ['scm:id', 'rdf:type', 'owl:Class', 'db:schema']
            }]
        }

        assert woqlObject.json() == jsonObj
        assert woqlObjectChain.json() == jsonObj
コード例 #4
0
 def test_add_property_methof(self):
     woqlObject = WOQLQuery().add_property("some_property", "string")
     jsonObj = {
         'and': [{
             'add_quad': [
                 'scm:some_property', 'rdf:type', 'owl:DatatypeProperty',
                 'db:schema'
             ]
         }, {
             'add_quad':
             ['scm:some_property', 'rdfs:range', 'xsd:string', 'db:schema']
         }]
     }
     print(woqlObject.json())
     assert woqlObject.json() == jsonObj
コード例 #5
0
 def test_cardinality_method(self):
     woqlObject = WOQLQuery().add_property("P", "string").cardinality(3)
     jsonObj = {
         "and": [{
             "add_quad":
             ["scm:P", "rdf:type", "owl:DatatypeProperty", "db:schema"]
         }, {
             "add_quad": ["scm:P", "rdfs:range", "xsd:string", "db:schema"]
         }, {
             "add_quad": [
                 "scm:P_cardinality", "rdf:type", "owl:Restriction",
                 "db:schema"
             ]
         }, {
             "add_quad":
             ["scm:P_cardinality", "owl:onProperty", "scm:P", "db:schema"]
         }, {
             "add_quad": [
                 "scm:P_cardinality", "owl:cardinality", {
                     "@value": 3,
                     "@type": "xsd:nonNegativeInteger"
                 }, "db:schema"
             ]
         }]
     }
     assert woqlObject.json() == jsonObj
コード例 #6
0
 def test_cast_method(self):
     woqlObject = WOQLQuery().cast("v:Duration", "xsd:integer",
                                   "v:Duration_Cast")
     jsonObj = {
         "typecast": ["v:Duration", "xsd:integer", "v:Duration_Cast"]
     }
     assert woqlObject.json() == jsonObj
コード例 #7
0
 def test_chained_insert_method(self):
     woqlObject = WOQLQuery().insert("v:Node_ID", "v:Type").\
                 label("v:Label").\
                 description("v:Description").\
                 property("prop", "v:Prop").\
                 property("prop", "v:Prop2").\
                 entity().parent("hello")
     jsonObj = {
         'and': [{
             'add_triple': ["v:Node_ID", "rdf:type", "v:Type"]
         }, {
             'add_triple': ["v:Node_ID", "rdfs:label", "v:Label"]
         }, {
             'add_triple': ["v:Node_ID", "rdfs:comment", "v:Description"]
         }, {
             'add_triple': ["v:Node_ID", "scm:prop", "v:Prop"]
         }, {
             'add_triple': ["v:Node_ID", "scm:prop", "v:Prop2"]
         }, {
             'add_triple': ["v:Node_ID", "rdfs:subClassOf", "tcs:Entity"]
         }, {
             'add_triple': ["v:Node_ID", "rdfs:subClassOf", "scm:hello"]
         }]
     }
     assert woqlObject.json() == jsonObj
コード例 #8
0
 def test_relationship_method(self):
     woqlObject = WOQLQuery().node("doc:x", "add_quad").relationship()
     jsonObj = {
         'add_quad':
         ['doc:x', 'rdfs:subClassOf', 'tcs:Entity', 'db:schema']
     }
     assert woqlObject.json() == jsonObj
コード例 #9
0
    def test_woql_not_method(self):
        woqlObject = WOQLQuery().woql_not(WOQLQuery().triple("a", "b", "c"))
        woqlObjectChain = WOQLQuery().woql_not().triple("a", "b", "c")
        jsonObj = {
            'not': [{
                'triple':
                ["doc:a", "scm:b", {
                    "@language": "en",
                    "@value": "c"
                }]
            }]
        }

        print(woqlObject.json())

        assert woqlObject.json() == jsonObj
        assert woqlObjectChain.json() == jsonObj
コード例 #10
0
 def test_label_method(self):
     woqlObject = WOQLQuery().node("doc:x",
                                   "add_quad").label("my label", "en")
     woqlObject2 = WOQLQuery().node("doc:x", "add_quad").label("v:label")
     jsonObj = {
         'add_quad': [
             'doc:x', 'rdfs:label', {
                 '@value': 'my label',
                 '@language': 'en'
             }, 'db:schema'
         ]
     }
     jsonObj2 = {
         'add_quad': ['doc:x', 'rdfs:label', "v:label", 'db:schema']
     }
     assert woqlObject.json() == jsonObj
     assert woqlObject2.json() == jsonObj2
コード例 #11
0
    def test_woql_as_method(self):
        woqlObject = WOQLQuery().woql_as("Source", "Target")
        woqlObject2 = WOQLQuery().woql_as("Source", "Target").woql_as(
            "Source2", "Target2")
        jsonObj = [{'as': [{'@value': 'Source'}, 'v:Target']}]
        jsonObj2 = [{
            'as': [{
                '@value': 'Source'
            }, 'v:Target']
        }, {
            'as': [{
                '@value': 'Source2'
            }, 'v:Target2']
        }]

        assert woqlObject.json() == jsonObj
        assert woqlObject2.json() == jsonObj2
コード例 #12
0
    def test_woql_from_method(self):
        woql_original = WOQLQuery().limit(10)
        woqlObject = WOQLQuery().woql_from("http://dburl", woql_original)
        woqlObjectChain = WOQLQuery().woql_from("http://dburl").limit(10)

        jsonObj = {'from': ['http://dburl', {'limit': [10, {}]}]}

        #assert woqlObject.json() == jsonObj
        assert woqlObjectChain.json() == jsonObj
コード例 #13
0
 def test_join_method(self):
     woqlObject = WOQLQuery().join(["v:A_obj", "v:B_obj"], ", ", "v:output")
     jsonObj = {
         'join': [['v:A_obj', 'v:B_obj'], {
             '@value': ', ',
             '@type': 'xsd:string'
         }, 'v:output']
     }
     assert woqlObject.json() == jsonObj
コード例 #14
0
 def test_star_method(self):
     woqlObject = WOQLQuery().limit(10).star()
     jsonObj = {
         'limit':
         [10, {
             "triple": ["v:Subject", "v:Predicate", "v:Object"]
         }]
     }
     assert woqlObject.json() == jsonObj
コード例 #15
0
 def test_triple_method(self):
     woqlObject = WOQLQuery().triple("a", "b", "c")
     jsonObj = {
         'triple': ["doc:a", "scm:b", {
             "@language": "en",
             "@value": "c"
         }]
     }
     assert woqlObject.json() == jsonObj
コード例 #16
0
 def test_idgen_method(self):
     woqlObject = WOQLQuery().idgen("doc:Station", ["v:Start_ID"],
                                    "v:Start_Station_URL")
     jsonObj = {
         "idgen":
         ['doc:Station', {
             "list": ["v:Start_ID"]
         }, 'v:Start_Station_URL']
     }
     assert woqlObject.json() == jsonObj
コード例 #17
0
 def test_comment_method(self):
     woqlObject = WOQLQuery().node("doc:x",
                                   "add_quad").comment("my comment")
     jsonObj = {
         "comment": [{
             "@language": "en",
             "@value": "my comment"
         }, {}]
     }
     assert woqlObject.json() == jsonObj
コード例 #18
0
 def test_group_by_method(self):
     woqlObject = WOQLQuery().group_by(["v:A", "v:B"], ["v:C"], "v:New")
     jsonObj = {
         "group_by": [{
             "list": ['v:A', "v:B"]
         }, {
             "list": ["v:C"]
         }, {}, "v:New"]
     }
     assert woqlObject.json() == jsonObj
コード例 #19
0
 def test_add_quad_method(self):
     woqlObject = WOQLQuery().add_quad("a", "b", "c", "d")
     jsonObj = {
         'add_quad':
         ["doc:a", "scm:b", {
             "@language": "en",
             "@value": "c"
         }, "db:d"]
     }
     assert woqlObject.json() == jsonObj
コード例 #20
0
 def test_re_method(self):
     woqlObject = WOQLQuery().re(".*", "v:string", "v:formated")
     jsonObj = {
         're': [{
             '@value': '.*',
             '@type': 'xsd:string'
         }, 'v:string', {
             'list': ["v:formated"]
         }]
     }
     assert woqlObject.json() == jsonObj
コード例 #21
0
 def test_again_add_class_method(self):
     woqlObject = WOQLQuery().add_class("NewClass").description(
         "A new class object.").entity()
     jsonObj = {
         "and": [{
             "add_quad":
             ['scm:NewClass', 'rdf:type', "owl:Class", 'db:schema']
         }, {
             "add_quad": [
                 'scm:NewClass', 'rdfs:comment', {
                     '@value': "A new class object.",
                     '@language': 'en'
                 }, 'db:schema'
             ]
         }, {
             "add_quad":
             ['scm:NewClass', 'rdfs:subClassOf', "tcs:Entity", 'db:schema']
         }]
     }
     print(woqlObject.json())
     assert woqlObject.json() == jsonObj
コード例 #22
0
 def test_delete_property_method(self):
     woqlObject = WOQLQuery().delete_property("some_property", "string")
     jsonObj = {
         'and': [{
             'delete_quad':
             ['scm:some_property', 'v:All', 'v:Al2', 'xsd:string']
         }, {
             'delete_quad':
             ['v:Al3', 'v:Al4', 'scm:some_property', 'xsd:string']
         }]
     }
     assert woqlObject.json() == jsonObj
コード例 #23
0
 def test_split_method(self):
     woqlObject = WOQLQuery().split("A, B, C", ", ", "v:list_obj")
     jsonObj = {
         'split': [{
             '@value': 'A, B, C',
             '@type': 'xsd:string'
         }, {
             "@type": "xsd:string",
             "@value": ", "
         }, "v:list_obj"]
     }
     assert woqlObject.json() == jsonObj
コード例 #24
0
 def test_property_method(self):
     woqlObject = WOQLQuery().node("doc:x",
                                   "add_quad").property("myprop", "value")
     jsonObj = {
         'add_quad': [
             'doc:x', 'scm:myprop', {
                 '@value': 'value',
                 '@language': 'en'
             }, 'db:schema'
         ]
     }
     assert woqlObject.json() == jsonObj
コード例 #25
0
 def test_eq_method(self):
     woqlObject = WOQLQuery().eq("a", "b")
     jsonObj = {
         'eq': [{
             "@language": "en",
             "@value": "a"
         }, {
             "@language": "en",
             "@value": "b"
         }]
     }
     assert woqlObject.json() == jsonObj
コード例 #26
0
 def test_delete_class_method(self):
     woqlObject = WOQLQuery().delete_class("id")
     jsonObj = {
         'and': [{
             'delete_quad': ['scm:id', 'v:All', 'v:Al2', 'db:schema']
         }, {
             'opt': [{
                 'delete_quad': ['v:Al3', 'v:Al4', 'scm:id', 'db:schema']
             }]
         }]
     }
     assert woqlObject.json() == jsonObj
コード例 #27
0
 def test_concat_method(self):
     woqlObject = WOQLQuery().concat("v:Duration yo v:Duration_Cast", "x")
     jsonObj = {
         "concat": [{
             "list": [
                 "v:Duration", {
                     "@value": " yo ",
                     "@type": "xsd:string"
                 }, "v:Duration_Cast"
             ]
         }, "v:x"]
     }
     assert woqlObject.json() == jsonObj
コード例 #28
0
 def test_doctype_method(self):
     woqlObject = WOQLQuery().doctype("Station")
     jsonObj = {
         "and": [{
             "add_quad":
             ["scm:Station", "rdf:type", "owl:Class", "db:schema"]
         }, {
             "add_quad": [
                 "scm:Station", "rdfs:subClassOf", "tcs:Document",
                 "db:schema"
             ]
         }]
     }
     assert woqlObject.json() == jsonObj
コード例 #29
0
    def test_select_method(self):
        woqlObject = WOQLQuery().select("V1",
                                        WOQLQuery().triple("a", "b", "c"))
        woqlObjectMultiple = WOQLQuery().select(
            "V1", "V2",
            WOQLQuery().triple("a", "b", "c"))
        woqlObjectChain = WOQLQuery().select("V1").triple("a", "b", "c")
        woqlObjectChainMultiple = WOQLQuery().select("V1", "V2").triple(
            "a", "b", "c")

        jsonObj = {
            'select': [
                'V1', {
                    'triple':
                    ["doc:a", "scm:b", {
                        "@language": "en",
                        "@value": "c"
                    }]
                }
            ]
        }
        jsonObjMultiple = {
            'select': [
                'V1', 'V2', {
                    'triple':
                    ["doc:a", "scm:b", {
                        "@language": "en",
                        "@value": "c"
                    }]
                }
            ]
        }

        assert woqlObject.json() == jsonObj
        assert woqlObjectChain.json() == jsonObj
        assert woqlObjectMultiple.json() == jsonObjMultiple
        assert woqlObjectChainMultiple.json() == jsonObjMultiple
コード例 #30
0
 def test_delete_method(self):
     woqlObject = WOQLQuery().delete(
         {'triple': ["doc:a", "scm:b", {
             "@language": "en",
             "@value": "c"
         }]})
     jsonObj = {
         'delete': [{
             'triple':
             ["doc:a", "scm:b", {
                 "@language": "en",
                 "@value": "c"
             }]
         }]
     }
     assert woqlObject.json() == jsonObj