Example #1
0
        protected override IEnumerable <BOTripple> GetCustomTripples()
        {
            List <BOTripple> customTripples = new List <BOTripple>();
            Uri duplicateTypeNodeUri        = null;

            switch (DuplicateType)
            {
            case BaliseDuplicateStatus.NO_DUPLICATES:
                duplicateTypeNodeUri = LDLUris.BaliseNoDuplicateClassUri;
                break;

            case BaliseDuplicateStatus.DUPLICATE_OF_THE_NEXT_BALISE:
                duplicateTypeNodeUri = LDLUris.BaliseDuplicateNextClassUri;
                break;

            case BaliseDuplicateStatus.DUPLICATE_OF_THE_PREVIOUS_BALISE:
                duplicateTypeNodeUri = LDLUris.BaliseDuplicatePrevousClassUri;
                break;

            case BaliseDuplicateStatus.SPARE:
                duplicateTypeNodeUri = LDLUris.BaliseDuplicateSpareClassUri;
                break;
            }
            customTripples.Add(BOTripple.CreateTrippleFromValues(this.AsNode, LDLUris.BaliseDuplicatePropertyUri, duplicateTypeNodeUri));
            customTripples.Add(BOTripple.CreateTrippleFromValues(this.AsNode, LDLUris.BaliseFixedProperty, FixedData));
            if (this.Location != null)
            {
                customTripples.Add(new BOTripple(this.AsNode, new BONode(LDLUris.RelativePositionPropertyUri), Location.AsNode));
            }
            customTripples.AddRange(Location.GetAsTripples());
            return(customTripples);
        }
        protected override IEnumerable <BOTripple> GetCustomTripples()
        {
            List <BOTripple> results = new List <BOTripple>();

            if (GraphicPoint != null)
            {
                results.AddRange(GraphicPoint.GetAsTripples(this.AsNode));
            }
            if (NormalPath != null)
            {
                BONode    startNodeObject  = NormalPath.Track1.AsNode;
                BOTripple startNodeTripple = new BOTripple(this.AsNode, new BONode(LDLUris.StartArcProperty), startNodeObject);
                results.Add(startNodeTripple);
            }

            BONode    normalEndNode        = this.NormalPath.Track2.AsNode;
            BOTripple normalEndNodeTripple = new BOTripple(this.AsNode, new BONode(LDLUris.EndArcProperty), normalEndNode);

            results.Add(normalEndNodeTripple);
            BONode    alternativeEndNode = this.ReversePath.Track2.AsNode;
            BOTripple altEndNodeTripple  = new BOTripple(this.AsNode, new BONode(LDLUris.EndArcProperty), alternativeEndNode);

            results.Add(altEndNodeTripple);
            return(results);
        }
        protected override IEnumerable <BOTripple> GetCustomTripples()
        {
            List <BOTripple> customTripples = new List <BOTripple>();

            BOTripple Path1ATripple = new BOTripple();

            Path1ATripple.Subject   = this.AsNode;
            Path1ATripple.Predicate = new BONode(LDLUris.arcProperty);
            Path1ATripple.Object    = this.Path1.Track1.AsNode;

            BOTripple Path1BTripple = new BOTripple();

            Path1BTripple.Subject   = this.AsNode;
            Path1BTripple.Predicate = new BONode(LDLUris.arcProperty);
            Path1BTripple.Object    = this.Path1.Track2.AsNode;

            BOTripple Path2ATripple = new BOTripple();

            Path2ATripple.Subject   = this.AsNode;
            Path2ATripple.Predicate = new BONode(LDLUris.arcProperty);
            Path2ATripple.Object    = this.Path2.Track1.AsNode;

            BOTripple Path2BTripple = new BOTripple();

            Path2BTripple.Subject   = this.AsNode;
            Path2BTripple.Predicate = new BONode(LDLUris.arcProperty);
            Path2BTripple.Object    = this.Path2.Track2.AsNode;

            customTripples.Add(Path1ATripple);
            customTripples.Add(Path1BTripple);
            customTripples.Add(Path2ATripple);
            customTripples.Add(Path2BTripple);

            return(customTripples);
        }
Example #4
0
        public IEnumerable <BOTripple> GetTripples(string locationFor, BONode locatedItem)
        {
            Guid             id           = Guid.NewGuid();
            string           guidStr      = Uri.EscapeUriString(id.ToString());
            List <BOTripple> tripples     = new List <BOTripple>();
            string           locationStr  = LDLUris.GeodesicLocationStr + "_" + guidStr;
            BONode           LocationNode = new BONode(new Uri(locationStr));

            tripples.Add(BOTripple.CreateTrippleFromValues(LocationNode, LDLUris.RDFType, LDLUris.FeatureTypeUri));
            tripples.Add(BOTripple.CreateTrippleFromValues(LocationNode, LDLUris.LatitudeProperty, Point.Latitude));
            tripples.Add(BOTripple.CreateTrippleFromValues(LocationNode, LDLUris.LongditudeProperty, Point.Longitude));
            tripples.Add(new BOTripple(LocationNode, new BONode(LDLUris.LocatedOnProperty), locatedItem));
            string geometryStr  = locationStr + "/geo";
            BONode geometryNode = new BONode(new Uri(geometryStr));

            tripples.Add(BOTripple.CreateTrippleFromValues(geometryNode, LDLUris.RDFType, LDLUris.GeometryUri));
            tripples.Add(BOTripple.CreateTrippleFromValues(geometryNode, LDLUris.WKTPointUri, Point));
            tripples.Add(new BOTripple(LocationNode, new BONode(LDLUris.HasGeometeryPropertyUri), geometryNode));
            if (Offset > 0)
            {
                string OffsetLocationStr  = LDLUris.OffsetLocationStr + "_" + guidStr;
                BONode offsetLocationNode = new BONode(new Uri(OffsetLocationStr));
                tripples.Add(BOTripple.CreateTrippleFromValues(offsetLocationNode, LDLUris.RDFType, LDLUris.OffsetLocationType));
                tripples.Add(BOTripple.CreateTrippleFromValues(offsetLocationNode, LDLUris.UnitProperty, LDLUris.Metre));
                tripples.Add(new BOTripple(LocationNode, new BONode(LDLUris.OffsetLocationProperty), offsetLocationNode));
                tripples.Add(BOTripple.CreateTrippleFromValues(offsetLocationNode, LDLUris.MeasurementValueProperty, Offset));
            }
            return(tripples);
        }
        protected virtual BOTripple GetTypeTripple()
        {
            BOTripple typeTripple = new BOTripple();

            typeTripple.Subject   = this.AsNode;
            typeTripple.Predicate = new BONode(LDLUris.RDFType);
            typeTripple.Object    = new BONode(TypeUri);
            return(typeTripple);
        }
Example #6
0
        protected override IEnumerable <BOTripple> GetCustomTripples()
        {
            List <BOTripple> customTripples = new List <BOTripple>();

            customTripples.Add(new BOTripple(this.AsNode, new BONode(LDLUris.LocatedOnProperty), Track.AsNode));
            customTripples.Add(BOTripple.CreateTrippleFromValues(this.AsNode, LDLUris.MeasurementValueProperty, this.Distance));
            customTripples.Add(BOTripple.CreateTrippleFromValues(this.AsNode, LDLUris.UnitProperty, LDLUris.Metre));

            return(customTripples);
        }
Example #7
0
        protected override IEnumerable <BOTripple> GetCustomTripples()
        {
            List <BOTripple> customTriples = new List <BOTripple>();

            foreach (LDLBalise balise in Balises)
            {
                customTriples.Add(new BOTripple(this.AsNode, new BONode(LDLUris.RDFSMemberPropertyUri), balise.AsNode));
            }
            Uri BGTypeUri = null;

            foreach (LDLBaliseGroupType bgGroupType in BaliseGroupTypes)
            {
                switch (bgGroupType)
                {
                case LDLBaliseGroupType.SIGNAL:
                    BGTypeUri = LDLUris.SignalTypeUri;
                    break;

                case LDLBaliseGroupType.ERTMS_LEVEL_TRANSITION:
                    BGTypeUri = LDLUris.BGTypeERTMSLevelTransUri;
                    break;

                case LDLBaliseGroupType.LT_ANNOUNCEMENT:
                    BGTypeUri = LDLUris.BGTypeLTAnnouceUri;
                    break;

                case LDLBaliseGroupType.IN_FILL:
                    BGTypeUri = LDLUris.BGTypeInFillUri;
                    break;

                case LDLBaliseGroupType.MAIN:
                    BGTypeUri = LDLUris.BGTypeMainUri;
                    break;

                case LDLBaliseGroupType.LEVEL_CROSSING:
                    BGTypeUri = LDLUris.BGTypeLevelCrossingUri;
                    break;

                case LDLBaliseGroupType.RBC_BOUNDARY:
                    BGTypeUri = LDLUris.BGTypeRBC_BoundaryUri;
                    break;

                case LDLBaliseGroupType.ODOMETRY:
                    BGTypeUri = LDLUris.BGTypeOdometrynUri;
                    break;

                default:
                    break;
                }
                BOTripple bgTypeTriple = BOTripple.CreateTrippleFromValues(this.AsNode,LDLUris.BGTypePropertyUri,BGTypeUri);
                customTriples.Add(bgTypeTriple);
            }

            return(customTriples);//CC_0002-BG_20
        }
        protected override IEnumerable <BOTripple> GetCustomTripples()
        {
            List <BOTripple> results = new List <BOTripple>();

            results.AddRange(base.GetAsTripples());
            if (!string.IsNullOrEmpty(Label))
            {
                results.Add(BOTripple.CreateTrippleFromValues(this.AsNode, LDLUris.Label, Label));
            }
            return(results);
        }
        protected override IEnumerable <BOTripple> GetCustomTripples()
        {
            List <BOTripple> customTripples = new List <BOTripple>();

            if (Track != null)
            {
                customTripples.Add(new BOTripple(this.AsNode, new BONode(LDLUris.LocatedOnProperty), this.Track.AsNode));
            }
            customTripples.Add(BOTripple.CreateTrippleFromValues(this.AsNode, LDLUris.StartTrackPositionProperty, this.Start));
            customTripples.Add(BOTripple.CreateTrippleFromValues(this.AsNode, LDLUris.EndTrackPositionProperty, this.End));

            return(customTripples);
        }
        protected override IEnumerable <BOTripple> GetCustomTripples()
        {
            List <BOTripple> results = new List <BOTripple>();

            if (this.GraphicPoint != null)
            {
                results.AddRange(GraphicPoint.GetAsTripples(this.AsNode));
            }
            if (this.Track_1 != null)
            {
                BOTripple track1Triple = new BOTripple(this.AsNode, new BONode(LDLUris.arcProperty), this.Track_1.AsNode);
                results.Add(track1Triple);
            }
            return(results);
        }
        /// <summary>
        /// Gets a representation of the business object that can be inserted into a triple store
        /// </summary>
        /// <remarks>Not to be over ridden in normal circumstances</remarks>
        /// <returns></returns>
        public IEnumerable <BOTripple> GetAsTripples()
        {
            List <BOTripple> results = new List <BOTripple>();

            if (!string.IsNullOrEmpty(ID))
            {
                BOTripple idTripple = new BOTripple();
                idTripple.Subject   = new BONode(ObjectUri);
                idTripple.Predicate = new BONode(LDLUris.ItemIDUri);
                idTripple.Object    = new BONode(ID);
                results.Add(idTripple);
            }
            results.AddRange(GetCustomTripples());
            results.Add(GetTypeTripple());
            return(results);
        }
        protected override IEnumerable <BOTripple> GetCustomTripples()
        {
            List <BOTripple> customTripples = new List <BOTripple>();

            //I've been slightly arbitary assigning min and max here - assuming it's the end of the first and the start of the second
            if (JoinedCircuits[0] != null)
            {
                customTripples.Add(BOTripple.CreateTrippleFromValues(JoinedCircuits[0].AsNode, LDLUris.MaxLocation, this.ObjectUri));
            }
            if (JoinedCircuits[1] != null)
            {
                customTripples.Add(BOTripple.CreateTrippleFromValues(JoinedCircuits[1].AsNode, LDLUris.MinLocation, this.ObjectUri));
            }
            if (this.Location != null)
            {
                customTripples.Add(new BOTripple(this.AsNode, new BONode(LDLUris.RelativePositionPropertyUri), Location.AsNode));
            }
            customTripples.AddRange(Location.GetAsTripples());
            return(customTripples);
        }
Example #13
0
        protected override IEnumerable <BOTripple> GetCustomTripples()
        {
            List <BOTripple> result = new List <BOTripple>();

            if (Length > 0)
            {
                BOTripple lengthTripple = new BOTripple();
                lengthTripple.Subject   = AsNode;
                lengthTripple.Predicate = new BONode(LDLUris.LengthProperty);
                lengthTripple.Object    = new BONode(Length);
                result.Add(lengthTripple);
            }

            if (Node0 != null)
            {
                BOTripple Node0LinkTripple = new BOTripple();
                Node0LinkTripple.Subject   = AsNode;
                Node0LinkTripple.Predicate = new BONode(LDLUris.nodeProperty);
                Node0LinkTripple.Object    = Node0.AsNode;
                result.Add(Node0LinkTripple);
            }

            if (Node1 != null)
            {
                BOTripple Node1LinkTripple = new BOTripple();
                Node1LinkTripple.Subject   = AsNode;
                Node1LinkTripple.Predicate = new BONode(LDLUris.nodeProperty);
                Node1LinkTripple.Object    = Node1.AsNode;
                result.Add(Node1LinkTripple);
            }
            if (locations.Count > 0)
            {
                foreach (LDLGPSPoint location in locations)
                {
                    result.AddRange(location.GetTripples(ID, this.AsNode));
                }
            }

            return(result);
        }
 public InsertableTriple(BOTripple toClone)
 {
     this.Subject   = new InsertableNode(toClone.Subject);
     this.Predicate = new InsertableNode(toClone.Predicate);
     this.Object    = new InsertableNode(toClone.Object);
 }