package Ġcom . eg m . st elli o . entity . repository Ċ Ċ import Ġcom . eg m . st elli o . entity . config . With Neo 4 j Container Ċ import Ġcom . eg m . st elli o . entity . model . Entity Ċ import Ġcom . eg m . st elli o . entity . model . Partial Entity Ċ import Ġcom . eg m . st elli o . entity . model . Property Ċ import Ġcom . eg m . st elli o . entity . model . Relationship Ċ import Ġcom . eg m . st elli o . entity . model . to Relationship TypeName Ċ import Ġcom . eg m . st elli o . shared . model . Geo PropertyType Ċ import Ġcom . eg m . st elli o . shared . model . Ng si Ld Geo Property Instance Ċ import Ġcom . eg m . st elli o . shared . util . Json Ld Utils . E GM _ OB SER VED _ BY Ċ import Ġcom . eg m . st elli o . shared . util . to Uri Ċ import Ġjunit . framework . TestCase . assertEquals Ċ import Ġjunit . framework . TestCase . assertFalse Ċ import Ġjunit . framework . TestCase . assertNotNull Ċ import Ġjunit . framework . TestCase . assertNull Ċ import Ġjunit . framework . TestCase . assertTrue Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . After Each Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . assert Throws Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . boot . test . context . SpringBootTest Ċ import Ġorg . springframework . dao . Empty Result Data AccessException Ċ import Ġorg . springframework . test . context . Active Profiles Ċ import Ġjava . net . URI Ċ Ċ @ SpringBootTest Ċ @ Active Profiles (" test ") Ċ class ĠNeo 4 j Repository Tests Ġ: ĠWith Neo 4 j Container Ġ{ ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġne o 4 j Repository : ĠNeo 4 j Repository ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġentity Repository : ĠEntity Repository ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġproperty Repository : ĠProperty Repository ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġrelationship Repository : ĠRelationship Repository ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġpartial Entity Repository : ĠPartial Entity Repository ĊĊĠĠĠ Ġprivate Ġval Ġbe e keeper Uri Ġ= Ġ" urn : ng si - ld : B ee keeper : 1 2 3 0 ". to Uri () ĊĠĠĠ Ġprivate Ġval Ġpartial Target Entity Uri Ġ= Ġ" urn : ng si - ld : Entity : 4 5 6 7 ". to Uri () ĊĠĠĠ Ġprivate Ġval Ġsize Expanded Name Ġ= Ġ" https :// uri . et si . org / ng si - ld / size " ĊĊĠĠĠ Ġ@ After Each ĊĠĠĠ Ġfun Ġclean Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġentity Repository . delete All () ĊĠĠĠĠĠĠĠ Ġproperty Repository . delete All () ĊĠĠĠĠĠĠĠ Ġrelationship Repository . delete All () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġmerge Ġa Ġpartial Ġentity Ġto Ġa Ġnormal Ġentity `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpartial Entity Ġ= ĠPartial Entity ( bee keeper Uri ) ĊĠĠĠĠĠĠĠ Ġpartial Entity Repository . save ( partial Entity ) ĊĠĠĠĠĠĠĠ Ġcreate Entity ( bee keeper Uri , ĠlistOf (" B ee keeper ")) ĊĊĠĠĠĠĠĠĠ Ġne o 4 j Repository . merge Partial With Normal Entity ( bee keeper Uri ) ĊĊĠĠĠĠĠĠĠ ĠassertFalse ( partial Entity Repository . exists ById ( bee keeper Uri )) ĊĠĠĠĠĠĠĠ ĠassertTrue ( entity Repository . exists ById ( bee keeper Uri )) ĊĠĠĠĠĠĠĠ Ġval Ġbe e keeper Ġ= Ġentity Repository . findById ( bee keeper Uri ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf (" B ee keeper "), Ġbe e keeper . get (). type ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġkeep Ġa Ġrelationship Ġto Ġa Ġpartial Ġentity Ġwhen Ġmerging Ġwith Ġa Ġnormal Ġentity `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpartial Entity Ġ= ĠPartial Entity ( bee keeper Uri ) ĊĠĠĠĠĠĠĠ Ġpartial Entity Repository . save ( partial Entity ) ĊĠĠĠĠĠĠĠ Ġval Ġproperty Ġ= Ġcreate Property (" https :// ontology . e global mark . com / apic # outgoing ", Ġ 1 . 0 ) ĊĠĠĠĠĠĠĠ Ġcreate Relationship ( Attribute Subject Node ( property . id ), ĠE GM _ OB SER VED _ BY , Ġbe e keeper Uri ) ĊĠĠĠĠĠĠĠ Ġcreate Entity ( bee keeper Uri , ĠlistOf (" B ee keeper ")) ĊĊĠĠĠĠĠĠĠ Ġne o 4 j Repository . merge Partial With Normal Entity ( bee keeper Uri ) ĊĊĠĠĠĠĠĠĠ Ġval Ġrel s Of Prop Ġ= Ġproperty Repository . findById ( property . id ). get (). relationships ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġrel s Of Prop . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( E GM _ OB SER VED _ BY , Ġrel s Of Prop [ 0 ]. type [ 0 ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġcreate Ġan Ġentity Ġwith Ġa Ġproperty Ġwhose Ġname Ġcontains Ġa Ġcolon `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbe e keeper Uri , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" B ee keeper "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" prefix : name ", Ġvalue Ġ= Ġ" value ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpersisted Entity Ġ= Ġentity Repository . findById ( entity . id ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( pers isted Entity . isPresent ) ĊĠĠĠĠĠĠĠ Ġval Ġpersisted Property Ġ= Ġpersisted Entity . get (). properties [ 0 ] ĊĠĠĠĠĠĠĠ ĠassertEquals (" prefix : name ", Ġpersisted Property . name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġcreate Ġan Ġentity Ġwith Ġa Ġproperty Ġwhose Ġvalue Ġis Ġa ĠJSON Ġobject `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbe e keeper Uri , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" B ee keeper "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġsize Expanded Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġmap Of (" length " Ġto Ġ 2 , Ġ" height " Ġto Ġ 1 2 , Ġ" comment " Ġto Ġ" none ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpersisted Entity Ġ= Ġentity Repository . findById ( entity . id ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( pers isted Entity . isPresent ) ĊĠĠĠĠĠĠĠ Ġval Ġpersisted Property Ġ= Ġpersisted Entity . get (). properties [ 0 ] ĊĠĠĠĠĠĠĠ ĠassertEquals ( map Of (" length " Ġto Ġ 2 , Ġ" height " Ġto Ġ 1 2 , Ġ" comment " Ġto Ġ" none "), Ġpersisted Property . value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġcreate Ġa Ġproperty Ġfor Ġa Ġsubject `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbe e keeper Uri , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" B ee keeper ") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġproperty Ġ= ĠProperty ( name Ġ= Ġsize Expanded Name , Ġvalue Ġ= Ġ 1 0 0 L ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcreated Ġ= Ġne o 4 j Repository . create Property Of Subject ( Entity Subject Node ( entity . id ), Ġproperty ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( created ) ĊĊĠĠĠĠĠĠĠ Ġval Ġproperty From Db Ġ= Ġproperty Repository . getProperty Of Subject ( entity . id , Ġsize Expanded Name ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( size Expanded Name , Ġproperty From Db . name ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 0 L , Ġproperty From Db . value ) ĊĠĠĠĠĠĠĠ ĠassertNotNull ( property From Db . createdAt ) ĊĠĠĠĠĠĠĠ ĠassertNull ( property From Db . dataset Id ) ĊĠĠĠĠĠĠĠ ĠassertNull ( property From Db . observed At ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġproperty From Db . properties . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġproperty From Db . relationships . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġcreate Ġa Ġproperty Ġwith Ġa ĠJSON Ġobject Ġvalue Ġfor Ġa Ġsu jb ect `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbe e keeper Uri , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" B ee keeper ") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġproperty Value Ġ= Ġmap Of (" key 1 " Ġto Ġ" value 1 ", Ġ" key 2 " Ġto Ġ 1 2 , Ġ" key 3 " Ġto ĠlistOf (" v 1 ", Ġ" v 2 ")) ĊĠĠĠĠĠĠĠ Ġval Ġproperty Ġ= ĠProperty ( name Ġ= Ġsize Expanded Name , Ġvalue Ġ= Ġproperty Value ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcreated Ġ= Ġne o 4 j Repository . create Property Of Subject ( Entity Subject Node ( entity . id ), Ġproperty ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( created ) ĊĊĠĠĠĠĠĠĠ Ġval Ġproperty From Db Ġ= Ġproperty Repository . getProperty Of Subject ( entity . id , Ġsize Expanded Name ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( size Expanded Name , Ġproperty From Db . name ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( property Value , Ġproperty From Db . value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġcreate Ġa Ġproperty Ġwith Ġa Ġlist Ġvalue Ġfor Ġa Ġsubject `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbe e keeper Uri , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" B ee keeper ") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġproperty Value Ġ= ĠlistOf (" v 1 ", Ġ" v 2 ") ĊĠĠĠĠĠĠĠ Ġval Ġproperty Ġ= ĠProperty ( name Ġ= Ġsize Expanded Name , Ġvalue Ġ= Ġproperty Value ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcreated Ġ= Ġne o 4 j Repository . create Property Of Subject ( Entity Subject Node ( entity . id ), Ġproperty ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( created ) ĊĊĠĠĠĠĠĠĠ Ġval Ġproperty From Db Ġ= Ġproperty Repository . getProperty Of Subject ( entity . id , Ġsize Expanded Name ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( size Expanded Name , Ġproperty From Db . name ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( property Value , Ġproperty From Db . value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġcreate Ġa Ġrelationship Ġto Ġan Ġunknown Ġentity Ġas Ġa Ġpartial Ġentity `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : Sensor : 1 2 3 3 ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" Sensor ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġcreate Relationship ( Entity Subject Node ( entity . id ), ĠE GM _ OB SER VED _ BY , Ġpartial Target Entity Uri ) ĊĊĠĠĠĠĠĠĠ Ġval Ġsome Partial Entity Ġ= Ġpartial Entity Repository . findById ( partial Target Entity Uri ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( some Partial Entity . isPresent ) ĊĊĠĠĠĠĠĠĠ Ġne o 4 j Repository . delete Entity ( entity . id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġupdate Ġthe Ġtarget Ġrelationship Ġof Ġa Ġrelationship `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproperty Ġ= Ġcreate Property (" https :// uri . et si . org / ng si - ld / temperature ", Ġ 3 6 ) ĊĠĠĠĠĠĠĠ Ġproperty Repository . save ( property ) ĊĠĠĠĠĠĠĠ Ġval Ġrelationship Ġ= Ġcreate Relationship ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAttribute Subject Node ( property . id ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠE GM _ OB SER VED _ BY , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : Entity : 1 2 3 ". to Uri () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġne o 4 j Repository . update Target Of Relationship ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrelationship . id , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠE GM _ OB SER VED _ BY . to Relationship TypeName (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : Entity : 1 2 3 ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : Entity : 4 5 6 ". to Uri () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġupdated Relationship Ġ= Ġrelationship Repository . findById ( relationship . id ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" urn : ng si - ld : Entity : 4 5 6 ". to Uri (), Ġupdated Relationship . get (). objectId ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġadd Ġmodified At Ġvalue Ġwhen Ġcreating Ġa Ġnew Ġproperty `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproperty Ġ= ĠProperty ( name Ġ= Ġ" name ", Ġvalue Ġ= Ġ" Scal pa ") ĊĠĠĠĠĠĠĠ Ġproperty Repository . save ( property ) ĊĠĠĠĠĠĠĠ ĠassertNotNull ( property Repository . findById ( property . id ). get (). modified At ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġadd Ġmodified At Ġvalue Ġwhen Ġsaving Ġa Ġnew Ġrelationship `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrelationship Ġ= ĠRelationship ( objectId Ġ= Ġ" urn : ng si - ld : Entity : target ". to Uri (), Ġtype Ġ= ĠlistOf (" connect sTo ")) ĊĠĠĠĠĠĠĠ Ġrelationship Repository . save ( relationship ) ĊĠĠĠĠĠĠĠ ĠassertNotNull ( relationship Repository . findById ( relationship . id ). get (). modified At ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġupdate Ġmodified At Ġvalue Ġwhen Ġupdating Ġan Ġentity `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee keeper : 1 2 3 3 ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" B ee keeper "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( Property ( name Ġ= Ġ" name ", Ġvalue Ġ= Ġ" Scal pa ")) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġmodified At Ġ= Ġentity Repository . findById (" urn : ng si - ld : B ee keeper : 1 2 3 3 ". to Uri ()). get (). modified At ĊĠĠĠĠĠĠĠ Ġval Ġsecond Entity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee keeper : 1 2 3 3 ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" B ee keeper "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( Property ( name Ġ= Ġ" name ", Ġvalue Ġ= Ġ" Dem ha ")) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġupdated Modified At Ġ= Ġentity Repository . findById (" urn : ng si - ld : B ee keeper : 1 2 3 3 ". to Uri ()). get (). modified At ĊĠĠĠĠĠĠĠ ĠassertNotNull ( updated Modified At ) ĊĠĠĠĠĠĠĠ ĠassertThat ( updated Modified At ). is After ( modified At ) ĊĊĠĠĠĠĠĠĠ Ġne o 4 j Repository . delete Entity ( entity . id ) ĊĠĠĠĠĠĠĠ Ġne o 4 j Repository . delete Entity ( second Entity . id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġcreate ĠcreatedAt Ġproperty Ġwith Ġtime Ġzone Ġrelated Ġinformation Ġequal Ġto Ġthe Ġcharacter Ġ" Z "` () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee keeper : 1 2 3 3 ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" B ee keeper "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( Property ( name Ġ= Ġ" name ", Ġvalue Ġ= Ġ" Scal pa ")) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( entity . createdAt . toString (). endsWith (" Z ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġcreate Ġmodified At Ġproperty Ġwith Ġtime Ġzone Ġrelated Ġinformation Ġequal Ġto Ġthe Ġcharacter Ġ" Z "` () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee keeper : 1 2 3 3 ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" B ee keeper "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( Property ( name Ġ= Ġ" name ", Ġvalue Ġ= Ġ" Scal pa ")) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( entity . modified At . toString (). endsWith (" Z ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġfilter Ġexisting Ġentity Ids `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee keeper : 1 2 3 3 ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" B ee keeper "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( Property ( name Ġ= Ġ" name ", Ġvalue Ġ= Ġ" Scal pa ")) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġentities Ids Ġ= ĠlistOf (" urn : ng si - ld : B ee keeper : 1 2 3 3 ". to Uri (), Ġ" urn : ng si - ld : B ee keeper : 1 2 3 4 ". to Uri ()) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" urn : ng si - ld : B ee keeper : 1 2 3 3 ". to Uri ()), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġne o 4 j Repository . filter Existing Entities As Ids ( entities Ids ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġdelete Ġall Ġproperty Ġinstances `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee keeper : 1 2 3 3 ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" B ee keeper "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" firstName ", Ġvalue Ġ= Ġ" Scal pa "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" firstName ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" Scal pa 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdataset Id Ġ= Ġ" urn : ng si - ld : Dataset : firstName : 2 ". to Uri () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" lastName ", Ġvalue Ġ= Ġ" Char ity ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġne o 4 j Repository . delete Entity Property ( Entity Subject Node ( entity . id ), Ġ" firstName ", Ġnull , Ġtrue ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġentity Repository . findById ( entity . id ). get (). properties . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġdelete Ġthe Ġproperty Ġdefault Ġinstance `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee keeper : 1 2 3 3 ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" B ee keeper "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" firstName ", Ġvalue Ġ= Ġ" Scal pa "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" firstName ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" Scal pa 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdataset Id Ġ= Ġ" urn : ng si - ld : Dataset : firstName : 2 ". to Uri () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" lastName ", Ġvalue Ġ= Ġ" Char ity ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġne o 4 j Repository . delete Entity Property ( Entity Subject Node ( entity . id ), Ġ" firstName ") ĊĊĠĠĠĠĠĠĠ Ġval Ġproperties Ġ= Ġentity Repository . findById ( entity . id ). get (). properties ĊĠĠĠĠĠĠĠ ĠassertNull ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproperties . find Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . name Ġ== Ġ" firstName " Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . value Ġ== Ġ" Scal pa " Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . dataset Id Ġ== Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertNotNull ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproperties . find Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . name Ġ== Ġ" firstName " Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . value Ġ== Ġ" Scal pa 2 " Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . dataset Id Ġ== Ġ" urn : ng si - ld : Dataset : firstName : 2 ". to Uri () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġdelete Ġthe Ġproperty Ġinstance Ġwith Ġthe Ġgiven Ġdataset Id `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee keeper : 1 2 3 3 ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" B ee keeper "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" firstName ", Ġvalue Ġ= Ġ" Scal pa "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" firstName ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" Scal pa 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdataset Id Ġ= Ġ" urn : ng si - ld : Dataset : firstName : 2 ". to Uri () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" lastName ", Ġvalue Ġ= Ġ" Char ity ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġne o 4 j Repository . delete Entity Property ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEntity Subject Node ( entity . id ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" firstName ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : Dataset : firstName : 2 ". to Uri () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġproperties Ġ= Ġentity Repository . findById ( entity . id ). get (). properties ĊĠĠĠĠĠĠĠ ĠassertNull ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproperties . find Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . name Ġ== Ġ" firstName " Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . value Ġ== Ġ" Scal pa 2 " Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . dataset Id Ġ== Ġ" urn : ng si - ld : Dataset : firstName : 2 ". to Uri () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertNotNull ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproperties . find Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . name Ġ== Ġ" firstName " Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . value Ġ== Ġ" Scal pa " Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . dataset Id Ġ== Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġdelete Ġall Ġrelationship Ġinstances `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsensor Ġ= Ġcreate Entity (" urn : ng si - ld : Sensor : 1 2 3 3 ". to Uri (), ĠlistOf (" Sensor ")) ĊĠĠĠĠĠĠĠ Ġval Ġdevice Ġ= Ġcreate Entity (" urn : ng si - ld : Device : 1 2 3 3 ". to Uri (), ĠlistOf (" Device ")) ĊĠĠĠĠĠĠĠ Ġcreate Relationship ( Entity Subject Node ( sensor . id ), ĠE GM _ OB SER VED _ BY , Ġdevice . id ) ĊĠĠĠĠĠĠĠ Ġcreate Relationship ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEntity Subject Node ( sensor . id ), ĠE GM _ OB SER VED _ BY , Ġdevice . id , Ġ" urn : ng si - ld : Dataset : observed By : 0 1 ". to Uri () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġne o 4 j Repository . delete Entity Relationship ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEntity Subject Node ( sensor . id ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠE GM _ OB SER VED _ BY . to Relationship TypeName (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( entity Repository . findById ( sensor . id ). get (). relationships . size , Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġdelete Ġthe Ġrelationship Ġdefault Ġinstance `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsensor Ġ= Ġcreate Entity (" urn : ng si - ld : Sensor : 1 2 3 3 ". to Uri (), ĠlistOf (" Sensor ")) ĊĠĠĠĠĠĠĠ Ġval Ġdevice Ġ= Ġcreate Entity (" urn : ng si - ld : Device : 1 2 3 3 ". to Uri (), ĠlistOf (" Device ")) ĊĠĠĠĠĠĠĠ Ġcreate Relationship ( Entity Subject Node ( sensor . id ), ĠE GM _ OB SER VED _ BY , Ġdevice . id ) ĊĠĠĠĠĠĠĠ Ġcreate Relationship ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEntity Subject Node ( sensor . id ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠE GM _ OB SER VED _ BY , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdevice . id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : Dataset : observed By : 0 1 ". to Uri () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġne o 4 j Repository . delete Entity Relationship ( Entity Subject Node ( sensor . id ), ĠE GM _ OB SER VED _ BY . to Relationship TypeName ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġrelationships Ġ= Ġentity Repository . findById ( sensor . id ). get (). relationships ĊĠĠĠĠĠĠĠ ĠassertNull ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrelationships . find Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . type Ġ== ĠlistOf ( E GM _ OB SER VED _ BY ) Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . dataset Id Ġ== Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertNotNull ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrelationships . find Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . type Ġ== ĠlistOf ( E GM _ OB SER VED _ BY ) Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . dataset Id Ġ== Ġ" urn : ng si - ld : Dataset : observed By : 0 1 ". to Uri () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġdelete Ġthe Ġrelationship Ġinstance Ġwith Ġthe Ġgiven Ġdataset Id `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsensor Ġ= Ġcreate Entity (" urn : ng si - ld : Sensor : 1 2 3 3 ". to Uri (), ĠlistOf (" Sensor ")) ĊĠĠĠĠĠĠĠ Ġval Ġdevice Ġ= Ġcreate Entity (" urn : ng si - ld : Device : 1 2 3 3 ". to Uri (), ĠlistOf (" Device ")) ĊĠĠĠĠĠĠĠ Ġcreate Relationship ( Entity Subject Node ( sensor . id ), ĠE GM _ OB SER VED _ BY , Ġdevice . id ) ĊĠĠĠĠĠĠĠ Ġcreate Relationship ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEntity Subject Node ( sensor . id ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠE GM _ OB SER VED _ BY , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdevice . id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : Dataset : observed By : 0 1 ". to Uri () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġne o 4 j Repository . delete Entity Relationship ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEntity Subject Node ( sensor . id ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠE GM _ OB SER VED _ BY . to Relationship TypeName (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : Dataset : observed By : 0 1 ". to Uri () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġrelationships Ġ= Ġentity Repository . findById ( sensor . id ). get (). relationships ĊĠĠĠĠĠĠĠ ĠassertNull ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrelationships . find Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . type Ġ== ĠlistOf ( E GM _ OB SER VED _ BY ) Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . dataset Id Ġ== Ġ" urn : ng si - ld : Dataset : observed By : 0 1 ". to Uri () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertNotNull ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrelationships . find Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . type Ġ== ĠlistOf ( E GM _ OB SER VED _ BY ) Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . dataset Id Ġ== Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġdelete Ġan Ġentity Ġattribute Ġand Ġits Ġproperties `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠlastName Property Ġ= Ġcreate Property (" lastName ", Ġ" Char ity ") ĊĠĠĠĠĠĠĠ Ġval Ġorigin Property Ġ= Ġcreate Property (" origin ", Ġ" Latin ") ĊĠĠĠĠĠĠĠ ĠlastName Property . properties . add ( origin Property ) ĊĠĠĠĠĠĠĠ Ġproperty Repository . save ( lastName Property ) ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee keeper : 1 2 3 3 ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" B ee keeper "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( Property ( name Ġ= Ġ" firstName ", Ġvalue Ġ= Ġ" Scal pa "), ĠlastName Property ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġne o 4 j Repository . delete Entity Property ( Entity Subject Node ( entity . id ), Ġ" lastName ") ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( property Repository . findById ( origin Property . id ). isEmpty ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( property Repository . findById ( lastName Property . id ). isEmpty ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( entity Repository . findById ( entity . id ). get (). properties . size , Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġdelete Ġentity Ġattributes `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsensor Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : Sensor : 1 2 3 3 ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" Sensor "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( Property ( name Ġ= Ġ" name ", Ġvalue Ġ= Ġ" Scal pa ")) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġdevice Ġ= Ġcreate Entity (" urn : ng si - ld : Device : 1 2 3 3 ". to Uri (), ĠlistOf (" Device ")) ĊĠĠĠĠĠĠĠ Ġcreate Relationship ( Entity Subject Node ( sensor . id ), ĠE GM _ OB SER VED _ BY , Ġdevice . id ) ĊĊĠĠĠĠĠĠĠ Ġne o 4 j Repository . delete Entity Attributes ( sensor . id ) ĊĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġentity Repository . findById ( sensor . id ). get () ĊĠĠĠĠĠĠĠ ĠassertEquals ( entity . relationships . size , Ġ 0 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( entity . properties . size , Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġdelete Ġincoming Ġrelationships Ġwhen Ġdeleting Ġan Ġentity `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsensor Ġ= Ġcreate Entity (" urn : ng si - ld : Sensor : 1 2 3 3 ". to Uri (), ĠlistOf (" Sensor ")) ĊĠĠĠĠĠĠĠ Ġval Ġdevice Ġ= Ġcreate Entity (" urn : ng si - ld : Device : 1 2 3 3 ". to Uri (), ĠlistOf (" Device ")) ĊĠĠĠĠĠĠĠ Ġcreate Relationship ( Entity Subject Node ( device . id ), ĠE GM _ OB SER VED _ BY , Ġsensor . id ) ĊĊĠĠĠĠĠĠĠ Ġne o 4 j Repository . delete Entity ( sensor . id ) ĊĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġentity Repository . findById ( device . id ). get () ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġentity . relationships . size ) ĊĊĠĠĠĠĠĠĠ Ġne o 4 j Repository . delete Entity ( sensor . id ) ĊĠĠĠĠĠĠĠ Ġne o 4 j Repository . delete Entity ( device . id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġreturn Ġthe Ġdefault Ġproperty Ġinstance Ġif Ġno Ġdataset Id Ġis Ġprovided `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee keeper : 1 2 3 3 ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" B ee keeper "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( Property ( name Ġ= Ġ" name ", Ġvalue Ġ= Ġ 1 0 0 L )) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertNotNull ( property Repository . getProperty Of Subject ( entity . id , Ġ" name ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġnot Ġreturn Ġa Ġdefault Ġproperty Ġinstance Ġif Ġa Ġdataset Id Ġis Ġprovided `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee keeper : 1 2 3 3 ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" B ee keeper "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( Property ( name Ġ= Ġ" name ", Ġvalue Ġ= Ġ 1 0 0 L , Ġdataset Id Ġ= Ġ" urn : ng si - ld : Dataset : name : 1 ". to Uri ())) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThrows < Empty Result Data AccessException >(" List Ġis Ġempty ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproperty Repository . getProperty Of Subject ( entity . id , Ġ" name ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġreturn Ġthe Ġproperty Ġinstance Ġwith Ġthe Ġgiven Ġdataset Id `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee keeper : 1 2 3 3 ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" B ee keeper "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( Property ( name Ġ= Ġ" name ", Ġvalue Ġ= Ġ 1 0 0 L , Ġdataset Id Ġ= Ġ" urn : ng si - ld : Dataset : name : 1 ". to Uri ())) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertNotNull ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproperty Repository . getProperty Of Subject ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" name ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdataset Id Ġ= Ġ" urn : ng si - ld : Dataset : name : 1 ". to Uri () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġnot Ġreturn Ġthe Ġproperty Ġinstance Ġif Ġthe Ġgiven Ġdataset Id Ġdoes Ġnot Ġmatch `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee keeper : 1 2 3 3 ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" B ee keeper "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( Property ( name Ġ= Ġ" name ", Ġvalue Ġ= Ġ 1 0 0 L , Ġdataset Id Ġ= Ġ" urn : ng si - ld : Dataset : name : 1 ". to Uri ())) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThrows < Empty Result Data AccessException >(" List Ġis Ġempty ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproperty Repository . getProperty Of Subject ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" name ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdataset Id Ġ= Ġ" urn : ng si - ld : Dataset : name : 2 ". to Uri () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġreturn Ġtrue Ġif Ġno Ġdataset Id Ġis Ġprovided Ġand Ġa Ġdefault Ġinstance Ġexists `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee keeper : 1 2 3 3 ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" B ee keeper "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( Property ( name Ġ= Ġ" name ", Ġvalue Ġ= Ġ 1 0 0 L )) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( neo 4 j Repository . has Property Instance ( Entity Subject Node ( entity . id ), Ġ" name ", Ġnull )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġreturn Ġfalse Ġif Ġno Ġdataset Id Ġis Ġprovided Ġand Ġthere Ġis Ġno Ġdefault Ġinstance `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee keeper : 1 2 3 3 ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" B ee keeper "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( Property ( name Ġ= Ġ" name ", Ġvalue Ġ= Ġ 1 0 0 L , Ġdataset Id Ġ= Ġ" urn : ng si - ld : Dataset : name : 1 ". to Uri ())) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertFalse ( neo 4 j Repository . has Property Instance ( Entity Subject Node ( entity . id ), Ġ" name ", Ġnull )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġreturn Ġtrue Ġif Ġthere Ġis Ġan Ġinstance Ġwith Ġthe Ġprovided Ġdataset Id `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee keeper : 1 2 3 3 ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" B ee keeper "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( Property ( name Ġ= Ġ" name ", Ġvalue Ġ= Ġ 1 0 0 L , Ġdataset Id Ġ= Ġ" urn : ng si - ld : Dataset : name : 1 ". to Uri ())) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġne o 4 j Repository . has Property Instance ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEntity Subject Node ( entity . id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" name ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : Dataset : name : 1 ". to Uri () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġreturn Ġfalse Ġif Ġthere Ġis Ġno Ġinstance Ġwith Ġthe Ġprovided Ġdataset Id `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee keeper : 1 2 3 3 ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" B ee keeper "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( Property ( name Ġ= Ġ" name ", Ġvalue Ġ= Ġ 1 0 0 L , Ġdataset Id Ġ= Ġ" urn : ng si - ld : Dataset : name : 1 ". to Uri ())) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertFalse ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġne o 4 j Repository . has Property Instance ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEntity Subject Node ( entity . id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" name ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : Dataset : name : 2 ". to Uri () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġreturn Ġtrue Ġif Ġno Ġdataset Id Ġis Ġprovided Ġand Ġa Ġdefault Ġrelationship Ġinstance Ġexists `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsensor Ġ= Ġcreate Entity (" urn : ng si - ld : Sensor : 1 2 3 3 ". to Uri (), ĠlistOf (" Sensor ")) ĊĠĠĠĠĠĠĠ Ġval Ġdevice Ġ= Ġcreate Entity (" urn : ng si - ld : Device : 1 2 3 3 ". to Uri (), ĠlistOf (" Device ")) ĊĠĠĠĠĠĠĠ Ġcreate Relationship ( Entity Subject Node ( sensor . id ), ĠE GM _ OB SER VED _ BY , Ġdevice . id ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġne o 4 j Repository . has Relationship Instance ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEntity Subject Node ( sensor . id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠE GM _ OB SER VED _ BY . to Relationship TypeName () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġreturn Ġfalse Ġif Ġno Ġdataset Id Ġis Ġprovided Ġand Ġthere Ġis Ġno Ġdefault Ġrelationship Ġinstance `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsensor Ġ= Ġcreate Entity (" urn : ng si - ld : Sensor : 1 2 3 3 ". to Uri (), ĠlistOf (" Sensor ")) ĊĠĠĠĠĠĠĠ Ġval Ġdevice Ġ= Ġcreate Entity (" urn : ng si - ld : Device : 1 2 3 3 ". to Uri (), ĠlistOf (" Device ")) ĊĠĠĠĠĠĠĠ Ġcreate Relationship ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEntity Subject Node ( sensor . id ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠE GM _ OB SER VED _ BY , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdevice . id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : Dataset : observed By : 0 1 ". to Uri () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertFalse ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġne o 4 j Repository . has Relationship Instance ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEntity Subject Node ( sensor . id ), ĠE GM _ OB SER VED _ BY . to Relationship TypeName () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġreturn Ġtrue Ġif Ġthere Ġis Ġa Ġrelationship Ġinstance Ġwith Ġthe Ġprovided Ġdataset Id `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsensor Ġ= Ġcreate Entity (" urn : ng si - ld : Sensor : 1 2 3 3 ". to Uri (), ĠlistOf (" Sensor ")) ĊĠĠĠĠĠĠĠ Ġval Ġdevice Ġ= Ġcreate Entity (" urn : ng si - ld : Device : 1 2 3 3 ". to Uri (), ĠlistOf (" Device ")) ĊĠĠĠĠĠĠĠ Ġcreate Relationship ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEntity Subject Node ( sensor . id ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠE GM _ OB SER VED _ BY , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdevice . id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : Dataset : observed By : 0 1 ". to Uri () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġne o 4 j Repository . has Relationship Instance ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEntity Subject Node ( sensor . id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠE GM _ OB SER VED _ BY . to Relationship TypeName (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : Dataset : observed By : 0 1 ". to Uri () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġreturn Ġfalse Ġif Ġthere Ġis Ġno Ġrelationship Ġinstance Ġwith Ġthe Ġprovided Ġdataset Id `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsensor Ġ= Ġcreate Entity (" urn : ng si - ld : Sensor : 1 2 3 3 ". to Uri (), ĠlistOf (" Sensor ")) ĊĠĠĠĠĠĠĠ Ġval Ġdevice Ġ= Ġcreate Entity (" urn : ng si - ld : Device : 1 2 3 3 ". to Uri (), ĠlistOf (" Device ")) ĊĠĠĠĠĠĠĠ Ġcreate Relationship ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEntity Subject Node ( sensor . id ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠE GM _ OB SER VED _ BY , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdevice . id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : Dataset : observed By : 0 1 ". to Uri () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertFalse ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġne o 4 j Repository . has Relationship Instance ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEntity Subject Node ( sensor . id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠE GM _ OB SER VED _ BY . to Relationship TypeName (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : Dataset : observed By : 0 0 0 2 ". to Uri () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġupdate Ġthe Ġtarget Ġof Ġthe Ġdefault Ġrelationship Ġinstance Ġof Ġan Ġentity `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsensor Ġ= Ġcreate Entity (" urn : ng si - ld : Sensor : 1 2 3 3 ". to Uri (), ĠlistOf (" Sensor "), Ġmutable ListOf ()) ĊĠĠĠĠĠĠĠ Ġval Ġdevice Ġ= Ġcreate Entity (" urn : ng si - ld : Device : 1 2 3 3 ". to Uri (), ĠlistOf (" Device "), Ġmutable ListOf ()) ĊĠĠĠĠĠĠĠ Ġval Ġnew Device Ġ= Ġcreate Entity (" urn : ng si - ld : Device : 9 9 7 8 ". to Uri (), ĠlistOf (" Device "), Ġmutable ListOf ()) ĊĠĠĠĠĠĠĠ Ġcreate Relationship ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEntity Subject Node ( sensor . id ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠE GM _ OB SER VED _ BY , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdevice . id ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġne o 4 j Repository . update Relationship Target Of Subject ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsensor . id , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠE GM _ OB SER VED _ BY . to Relationship TypeName (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew Device . id ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Repository . get Relationship Target Of Subject ( sensor . id , ĠE GM _ OB SER VED _ BY . to Relationship TypeName ()) !!. id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew Device . id ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġupdate Ġthe Ġtarget Ġof Ġa Ġrelationship Ġinstance Ġwith Ġdataset Id Ġof Ġan Ġentity `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsensor Ġ= Ġcreate Entity (" urn : ng si - ld : Sensor : 1 2 3 3 ". to Uri (), ĠlistOf (" Sensor "), Ġmutable ListOf ()) ĊĠĠĠĠĠĠĠ Ġval Ġdevice Ġ= Ġcreate Entity (" urn : ng si - ld : Device : 1 2 3 3 ". to Uri (), ĠlistOf (" Device "), Ġmutable ListOf ()) ĊĠĠĠĠĠĠĠ Ġval Ġnew Device Ġ= Ġcreate Entity (" urn : ng si - ld : Device : 9 9 7 8 ". to Uri (), ĠlistOf (" Device "), Ġmutable ListOf ()) ĊĠĠĠĠĠĠĠ Ġval Ġdataset Id Ġ= Ġ" urn : ng si - ld : Dataset : observed By : device 1 ". to Uri () ĊĠĠĠĠĠĠĠ Ġcreate Relationship ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEntity Subject Node ( sensor . id ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠE GM _ OB SER VED _ BY , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdevice . id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdataset Id ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġne o 4 j Repository . update Relationship Target Of Subject ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsensor . id , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠE GM _ OB SER VED _ BY . to Relationship TypeName (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew Device . id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdataset Id ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Repository . get Relationship Target Of Subject ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsensor . id , ĠE GM _ OB SER VED _ BY . to Relationship TypeName (), Ġdataset Id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) !!. id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew Device . id ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġreturn Ġan Ġempty Map Ġfor Ġunknown Ġtype `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee hive : TEST C ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" https :// ontology . e global mark . com / apic # B ee hive "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" temperature ", Ġvalue Ġ= Ġ 3 6 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" humidity ", Ġvalue Ġ= Ġ 6 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġattributes Information Ġ= Ġne o 4 j Repository ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get EntityType Attributes Information (" https :// ontology . e global mark . com / apic # unknown Type ") ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( attributes Information . isEmpty ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġretrieve Ġentity Ġtype Ġattributes Ġinformation Ġfor Ġtwo Ġentities `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee hive : TEST C ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" https :// ontology . e global mark . com / apic # B ee hive "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" temperature ", Ġvalue Ġ= Ġ 3 6 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" humidity ", Ġvalue Ġ= Ġ 6 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee hive : TEST B ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" https :// ontology . e global mark . com / apic # B ee hive "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" temperature ", Ġvalue Ġ= Ġ 3 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" incoming ", Ġvalue Ġ= Ġ 6 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġattributes Information Ġ= Ġne o 4 j Repository ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get EntityType Attributes Information (" https :// ontology . e global mark . com / apic # B ee hive ") ĊĊĠĠĠĠĠĠĠ Ġval Ġproperties Information Ġ= Ġattributes Information [" properties "] Ġas ĠSet < *> ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" Got Ġthe Ġfollowing Ġattributes : Ġ$ properties Information ", Ġ 3 , Ġproperties Information . size ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( properties Information . contains All ( listOf (" humidity ", Ġ" temperature ", Ġ" incoming "))) ĊĠĠĠĠĠĠĠ ĠassertEquals ( attributes Information [" relationships "], Ġempty Set < String >()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( attributes Information [" geo Properties "], Ġempty Set < String >()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( attributes Information [" entity Count "], Ġ 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġretrieve Ġentity Ġtype Ġattributes Ġinformation Ġfor Ġtwo Ġentities Ġwith Ġrelationships `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee hive : TEST C ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" https :// ontology . e global mark . com / apic # B ee hive "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" temperature ", Ġvalue Ġ= Ġ 3 6 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" humidity ", Ġvalue Ġ= Ġ 6 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġsecond Entity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee hive : TEST B ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" https :// ontology . e global mark . com / apic # B ee hive "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" temperature ", Ġvalue Ġ= Ġ 3 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" humidity ", Ġvalue Ġ= Ġ 6 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġcreate Relationship ( Entity Subject Node ( second Entity . id ), Ġ" observed By ", Ġpartial Target Entity Uri ) ĊĊĠĠĠĠĠĠĠ Ġval Ġattributes Information Ġ= Ġne o 4 j Repository ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get EntityType Attributes Information (" https :// ontology . e global mark . com / apic # B ee hive ") ĊĊĠĠĠĠĠĠĠ Ġval Ġproperties Information Ġ= Ġattributes Information [" properties "] Ġas ĠSet < *> ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( properties Information . size , Ġ 2 ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( properties Information . contains All ( listOf (" humidity ", Ġ" temperature "))) ĊĠĠĠĠĠĠĠ ĠassertEquals ( attributes Information [" relationships "], Ġset Of (" observed By ")) ĊĠĠĠĠĠĠĠ ĠassertEquals ( attributes Information [" geo Properties "], Ġempty Set < String >()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( attributes Information [" entity Count "], Ġ 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġretrieve Ġentity Ġtype Ġattributes Ġinformation Ġfor Ġthree Ġentities Ġwith Ġlocation `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee hive : TEST C ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" https :// ontology . e global mark . com / apic # B ee hive "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" temperature ", Ġvalue Ġ= Ġ 3 6 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" humidity ", Ġvalue Ġ= Ġ 6 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNg si Ld Geo Property Instance . to W kt Format ( Geo PropertyType . Point , ĠlistOf ( 2 4 . 3 0 6 2 3 , Ġ 6 0 . 0 7 9 6 6 )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee hive : TEST B ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" https :// ontology . e global mark . com / apic # B ee hive "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" temperature ", Ġvalue Ġ= Ġ 3 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" humidity ", Ġvalue Ġ= Ġ 6 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee hive : TEST D ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" https :// ontology . e global mark . com / apic # B ee hive "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" temperature ", Ġvalue Ġ= Ġ 2 5 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" humidity ", Ġvalue Ġ= Ġ 8 9 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġattributes Information Ġ= Ġne o 4 j Repository ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get EntityType Attributes Information (" https :// ontology . e global mark . com / apic # B ee hive ") ĊĊĠĠĠĠĠĠĠ Ġval Ġproperties Information Ġ= Ġattributes Information [" properties "] Ġas ĠSet < *> ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( properties Information . size , Ġ 2 ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( properties Information . contains All ( listOf (" humidity ", Ġ" temperature "))) ĊĠĠĠĠĠĠĠ ĠassertEquals ( attributes Information [" relationships "], Ġempty Set < String >()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( attributes Information [" geo Properties "], Ġset Of (" https :// uri . et si . org / ng si - ld / location ")) ĊĠĠĠĠĠĠĠ ĠassertEquals ( attributes Information [" entity Count "], Ġ 3 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġretrieve Ġentity Ġtypes Ġnames `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfirst Entity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee hive : TEST C ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" https :// ontology . e global mark . com / apic # B ee hive "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" temperature ", Ġvalue Ġ= Ġ 3 6 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" humidity ", Ġvalue Ġ= Ġ 6 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġsecond Entity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : Sensor : TEST C ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" https :// ontology . e global mark . com / apic # Sensor "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" device Parameter ", Ġvalue Ġ= Ġ 3 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" is Cont ained In ", Ġvalue Ġ= Ġ 6 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : Sensor : TEST B ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" https :// ontology . e global mark . com / apic # Sensor "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" device Parameter ", Ġvalue Ġ= Ġ 3 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" is Cont ained In ", Ġvalue Ġ= Ġ 6 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġcreate Relationship ( Entity Subject Node ( first Entity . id ), Ġ" observed By ", Ġsecond Entity . id ) ĊĊĠĠĠĠĠĠĠ Ġval Ġentity Types Names Ġ= Ġne o 4 j Repository . getEntity Types Names () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġentity Types Names . size ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Types Names . contains All ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" https :// ontology . e global mark . com / apic # B ee hive ", Ġ" https :// ontology . e global mark . com / apic # Sensor ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġretrieve Ġa Ġlist Ġof Ġentity Ġtypes `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfirst Entity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee hive : TEST C ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" https :// ontology . e global mark . com / apic # B ee hive "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" temperature ", Ġvalue Ġ= Ġ 3 6 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" humidity ", Ġvalue Ġ= Ġ 6 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : B ee hive : TEST B ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" https :// ontology . e global mark . com / apic # B ee hive "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" temperature ", Ġvalue Ġ= Ġ 3 6 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" name ", Ġvalue Ġ= Ġ" B ee hive ĠTEST B ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNg si Ld Geo Property Instance . to W kt Format ( Geo PropertyType . Point , ĠlistOf ( 2 4 . 3 0 6 2 3 , Ġ 6 0 . 0 7 9 6 6 )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġthird Entity Ġ= Ġcreate Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : Sensor : TEST C ". to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" https :// ontology . e global mark . com / apic # Sensor "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty ( name Ġ= Ġ" device Parameter ", Ġvalue Ġ= Ġ 3 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġcreate Relationship ( Entity Subject Node ( first Entity . id ), Ġ" observed By ", Ġthird Entity . id ) ĊĊĠĠĠĠĠĠĠ Ġval Ġentity Types Ġ= Ġne o 4 j Repository . getEntity Types () ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" Got Ġthe Ġfollowing Ġtypes Ġinstead : Ġ$ entity Types ", Ġ 2 , Ġentity Types . size ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Types . contains All ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" entity Type " Ġto Ġ" https :// ontology . e global mark . com / apic # B ee hive ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" properties " Ġto Ġset Of (" temperature ", Ġ" humidity ", Ġ" name "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" relationships " Ġto Ġset Of (" observed By "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" geo Properties " Ġto Ġset Of (" https :// uri . et si . org / ng si - ld / location ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" entity Type " Ġto Ġ" https :// ontology . e global mark . com / apic # Sensor ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" properties " Ġto Ġset Of (" device Parameter "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" relationships " Ġto Ġempty Set < String >(), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" geo Properties " Ġto Ġempty Set < String >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġreturn Ġthe Ġrelationship Ġinstance Ġwith Ġdataset Id Ġof Ġan Ġentity `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsensor Ġ= Ġcreate Entity (" urn : ng si - ld : Sensor : 1 2 3 3 ". to Uri (), ĠlistOf (" Sensor "), Ġmutable ListOf ()) ĊĠĠĠĠĠĠĠ Ġval Ġdevice Ġ= Ġcreate Entity (" urn : ng si - ld : Device : 1 2 3 3 ". to Uri (), ĠlistOf (" Device "), Ġmutable ListOf ()) ĊĠĠĠĠĠĠĠ Ġcreate Relationship ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEntity Subject Node ( sensor . id ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠE GM _ OB SER VED _ BY , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdevice . id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : Dataset : observed By : 0 1 ". to Uri () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġrelationship Ġ= Ġrelationship Repository . get Relationship Of Subject ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsensor . id , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠE GM _ OB SER VED _ BY . to Relationship TypeName (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" urn : ng si - ld : Dataset : observed By : 0 1 ". to Uri () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( relationship . type , ĠlistOf ( E GM _ OB SER VED _ BY )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcreate Entity ( ĊĠĠĠĠĠĠĠ Ġid : ĠURI , ĊĠĠĠĠĠĠĠ Ġtype : ĠList < String >, ĊĠĠĠĠĠĠĠ Ġproperties : ĠMutable List < Property > Ġ= Ġmutable ListOf (), ĊĠĠĠĠĠĠĠ Ġlocation : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġ): ĠEntity Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= ĠEntity ( id Ġ= Ġid , Ġtype Ġ= Ġtype , Ġproperties Ġ= Ġproperties , Ġlocation Ġ= Ġlocation ) ĊĠĠĠĠĠĠĠ Ġreturn Ġentity Repository . save ( entity ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcreate Property ( name : ĠString , Ġvalue : ĠAny ): ĠProperty Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproperty Ġ= ĠProperty ( name Ġ= Ġname , Ġvalue Ġ= Ġvalue ) ĊĠĠĠĠĠĠĠ Ġreturn Ġproperty Repository . save ( property ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcreate Relationship ( ĊĠĠĠĠĠĠĠ Ġsubject NodeInfo : ĠSubject NodeInfo , ĊĠĠĠĠĠĠĠ Ġrelationship Type : ĠString , ĊĠĠĠĠĠĠĠ Ġobject Id : ĠURI , ĊĠĠĠĠĠĠĠ Ġdataset Id : ĠURI ? Ġ= Ġnull ĊĠĠĠ Ġ): ĠRelationship Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrelationship Ġ= ĠRelationship ( objectId Ġ= Ġobject Id , Ġtype Ġ= ĠlistOf ( relationship Type ), Ġdataset Id Ġ= Ġdataset Id ) ĊĠĠĠĠĠĠĠ Ġne o 4 j Repository . create Relationship Of Subject ( subject NodeInfo , Ġrelationship , Ġobject Id ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġrelationship ĊĠĠĠ Ġ} Ċ } Ċ