コード例 #1
0
        public void MatchRelationshipWithProperty()
        {
            var addressRelationship = new HomeAddressRelationship(DateTimeOffset.Parse("2015-08-05 12:00"), "agent", "homeAddress");
            var q = GetFluentQuery()
                    .MatchRelationship(addressRelationship);
            var text = q.GetFormattedDebugText();

            Console.WriteLine(text);

            Assert.AreEqual(@"MATCH (agent)-[agenthomeAddress:HOME_ADDRESS {DateEffective:$agenthomeAddressMatchKey.DateEffective}]->(homeAddress)", text);
        }
コード例 #2
0
        public void CreateRelationshipWithNoIdentifier()
        {
            var homeRelationship = new HomeAddressRelationship(string.Empty, "a", "ha");

            var q = GetFluentQuery()
                    .CreateRelationship(homeRelationship);

            var text = q.GetFormattedDebugText();

            Console.WriteLine(text);

            Assert.AreEqual("CREATE (a)-[:HOME_ADDRESS]->(ha)", text);
        }
コード例 #3
0
        public ICypherFluentQuery CreateComplexAct()
        {
            var agent            = SampleDataFactory.GetWellKnownPerson(7);
            var homeRelationship = new HomeAddressRelationship(DateTimeOffset.Parse("2015-08-05 12:00+00:00"), "a", "ha");

            var q = GetFluentQuery()
                    .CreateEntity(agent, "a")
                    .CreateEntity(agent.HomeAddress, "ha")
                    .CreateEntity(agent.WorkAddress, "wa")
                    .CreateRelationship(homeRelationship)
                    .CreateRelationship(new WorkAddressRelationship("a", "wa"));

            return(q);
        }
コード例 #4
0
        public void OptionalMatchRelationship()
        {
            var person = SampleDataFactory.GetWellKnownPerson(7);
            var homeAddressRelationship = new HomeAddressRelationship();
            var q = GetFluentQuery()
                    .MatchEntity(person)
                    .OptionalMatchRelationship(homeAddressRelationship, MatchRelationshipOptions.Create().WithNoProperties());
            var text = q.GetFormattedDebugText();

            Console.WriteLine(text);

            Assert.AreEqual(@"MATCH (person:SecretAgent {Id:{
  Id: 7
}.Id})
OPTIONAL MATCH (person)-[personaddress:HOME_ADDRESS]->(address)", text);
        }
コード例 #5
0
        public ICypherFluentQuery TwoDeepAct()
        {
            //setup
            var testPerson = SampleDataFactory.GetWellKnownPerson(7);

            var homeAddressRelationship = new HomeAddressRelationship();

            // perhaps this would be modelled on the address node but serves to show how to attach relationship property
            homeAddressRelationship.DateEffective = DateTimeOffset.Parse("2011-01-10T08:00:00+03:00");

            //act
            var q = GetFluentQuery()
                    .MergeEntity(testPerson)
                    .MergeEntity(testPerson.HomeAddress, MergeOptions.ViaRelationship(homeAddressRelationship))
                    .MergeRelationship(homeAddressRelationship);

            return(q);
        }