1- const { Transform } = require ( 'stream' ) ;
2- const N3 = require ( 'n3' ) ;
3- const { DataFactory } = N3 ;
4- const { namedNode, literal, quad } = DataFactory ;
5- const uri_templates = require ( 'uri-templates' ) ;
6- const Utils = require ( './Utils' ) ;
1+ import { Transform } from 'stream' ;
2+ import utpl from 'uri-templates' ;
3+ import Utils from './Utils' ;
4+ import { DataFactory } from "rdf-data-factory" ;
75
8- class Connections2Triples extends Transform {
6+ const df = new DataFactory ( ) ;
7+
8+ export class Connections2Triples extends Transform {
99 constructor ( templates ) {
1010 super ( { objectMode : true } ) ;
1111 this . _templates = templates ;
1212 }
1313
1414 _transform ( conn , encoding , done ) {
1515 // Predefined URI templates
16- const stopTemplate = uri_templates ( this . templates [ 'stop' ] ) ;
17- const routeTemplate = uri_templates ( this . templates [ 'route' ] ) ;
18- const tripTemplate = uri_templates ( this . templates [ 'trip' ] ) ;
19- const connectionTemplate = uri_templates ( this . templates [ 'connection' ] ) ;
16+ const stopTemplate = utpl ( this . templates [ 'stop' ] ) ;
17+ const routeTemplate = utpl ( this . templates [ 'route' ] ) ;
18+ const tripTemplate = utpl ( this . templates [ 'trip' ] ) ;
19+ const connectionTemplate = utpl ( this . templates [ 'connection' ] ) ;
2020
2121 // Resolve values for URIs
2222 const departureStopURI = Utils . resolveURI ( stopTemplate , conn , this . templates [ 'resolve' ] , "departureStop" ) ;
@@ -30,74 +30,74 @@ class Connections2Triples extends Transform {
3030
3131 if ( conn [ 'type' ] === 'Connection' ) {
3232 this . push (
33- quad (
34- namedNode ( connectionURI ) ,
35- namedNode ( 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type' ) ,
36- namedNode ( 'http://semweb.mmlab.be/ns/linkedconnections#Connection' ) ) ) ;
33+ df . quad (
34+ df . namedNode ( connectionURI ) ,
35+ df . namedNode ( 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type' ) ,
36+ df . namedNode ( 'http://semweb.mmlab.be/ns/linkedconnections#Connection' ) ) ) ;
3737 } else {
3838 this . push (
39- quad (
40- namedNode ( connectionURI ) ,
41- namedNode ( 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type' ) ,
42- namedNode ( 'http://semweb.mmlab.be/ns/linkedconnections#CancelledConnection' ) ) ) ;
39+ df . quad (
40+ df . namedNode ( connectionURI ) ,
41+ df . namedNode ( 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type' ) ,
42+ df . namedNode ( 'http://semweb.mmlab.be/ns/linkedconnections#CancelledConnection' ) ) ) ;
4343 }
4444
4545 this . push (
46- quad (
47- namedNode ( connectionURI ) ,
48- namedNode ( 'http://semweb.mmlab.be/ns/linkedconnections#departureStop' ) ,
49- namedNode ( departureStopURI ) ) ) ;
46+ df . quad (
47+ df . namedNode ( connectionURI ) ,
48+ df . namedNode ( 'http://semweb.mmlab.be/ns/linkedconnections#departureStop' ) ,
49+ df . namedNode ( departureStopURI ) ) ) ;
5050 this . push (
51- quad (
52- namedNode ( connectionURI ) ,
53- namedNode ( 'http://semweb.mmlab.be/ns/linkedconnections#arrivalStop' ) ,
54- namedNode ( arrivalStopURI ) ) ) ;
51+ df . quad (
52+ df . namedNode ( connectionURI ) ,
53+ df . namedNode ( 'http://semweb.mmlab.be/ns/linkedconnections#arrivalStop' ) ,
54+ df . namedNode ( arrivalStopURI ) ) ) ;
5555 this . push (
56- quad (
57- namedNode ( connectionURI ) ,
58- namedNode ( 'http://semweb.mmlab.be/ns/linkedconnections#departureTime' ) ,
59- literal ( conn [ 'departureTime' ] . toISOString ( ) , namedNode ( 'http://www.w3.org/2001/XMLSchema#dateTime' ) ) ) ) ;
56+ df . quad (
57+ df . namedNode ( connectionURI ) ,
58+ df . namedNode ( 'http://semweb.mmlab.be/ns/linkedconnections#departureTime' ) ,
59+ df . literal ( conn [ 'departureTime' ] . toISOString ( ) , df . namedNode ( 'http://www.w3.org/2001/XMLSchema#dateTime' ) ) ) ) ;
6060 this . push (
61- quad (
62- namedNode ( connectionURI ) ,
63- namedNode ( 'http://semweb.mmlab.be/ns/linkedconnections#arrivalTime' ) ,
64- literal ( conn [ 'arrivalTime' ] . toISOString ( ) , namedNode ( 'http://www.w3.org/2001/XMLSchema#dateTime' ) ) ) ) ;
61+ df . quad (
62+ df . namedNode ( connectionURI ) ,
63+ df . namedNode ( 'http://semweb.mmlab.be/ns/linkedconnections#arrivalTime' ) ,
64+ df . literal ( conn [ 'arrivalTime' ] . toISOString ( ) , df . namedNode ( 'http://www.w3.org/2001/XMLSchema#dateTime' ) ) ) ) ;
6565 this . push (
66- quad (
67- namedNode ( connectionURI ) ,
68- namedNode ( 'http://semweb.mmlab.be/ns/linkedconnections#departureDelay' ) ,
69- literal ( conn [ 'departureDelay' ] , namedNode ( 'http://www.w3.org/2001/XMLSchema#integer' ) ) ) ) ;
66+ df . quad (
67+ df . namedNode ( connectionURI ) ,
68+ df . namedNode ( 'http://semweb.mmlab.be/ns/linkedconnections#departureDelay' ) ,
69+ df . literal ( conn [ 'departureDelay' ] , df . namedNode ( 'http://www.w3.org/2001/XMLSchema#integer' ) ) ) ) ;
7070 this . push (
71- quad (
72- namedNode ( connectionURI ) ,
73- namedNode ( 'http://semweb.mmlab.be/ns/linkedconnections#arrivalDelay' ) ,
74- literal ( conn [ 'arrivalDelay' ] , namedNode ( 'http://www.w3.org/2001/XMLSchema#integer' ) ) ) ) ;
71+ df . quad (
72+ df . namedNode ( connectionURI ) ,
73+ df . namedNode ( 'http://semweb.mmlab.be/ns/linkedconnections#arrivalDelay' ) ,
74+ df . literal ( conn [ 'arrivalDelay' ] , df . namedNode ( 'http://www.w3.org/2001/XMLSchema#integer' ) ) ) ) ;
7575 this . push (
76- quad (
77- namedNode ( connectionURI ) ,
78- namedNode ( 'http://vocab.gtfs.org/terms#headsign' ) ,
79- literal ( conn [ 'headsign' ] , namedNode ( 'http://www.w3.org/2001/XMLSchema#string' ) ) ) ) ;
76+ df . quad (
77+ df . namedNode ( connectionURI ) ,
78+ df . namedNode ( 'http://vocab.gtfs.org/terms#headsign' ) ,
79+ df . literal ( conn [ 'headsign' ] , df . namedNode ( 'http://www.w3.org/2001/XMLSchema#string' ) ) ) ) ;
8080 this . push (
81- quad (
82- namedNode ( connectionURI ) ,
83- namedNode ( 'http://vocab.gtfs.org/terms#trip' ) ,
84- namedNode ( tripURI ) ) ) ;
81+ df . quad (
82+ df . namedNode ( connectionURI ) ,
83+ df . namedNode ( 'http://vocab.gtfs.org/terms#trip' ) ,
84+ df . namedNode ( tripURI ) ) ) ;
8585 this . push (
86- quad (
87- namedNode ( connectionURI ) ,
88- namedNode ( 'http://vocab.gtfs.org/terms#route' ) ,
89- namedNode ( routeURI ) ) ) ;
86+ df . quad (
87+ df . namedNode ( connectionURI ) ,
88+ df . namedNode ( 'http://vocab.gtfs.org/terms#route' ) ,
89+ df . namedNode ( routeURI ) ) ) ;
9090 this . push (
91- quad (
92- namedNode ( connectionURI ) ,
93- namedNode ( 'http://vocab.gtfs.org/terms#dropOffType' ) ,
94- namedNode ( dropOffType )
91+ df . quad (
92+ df . namedNode ( connectionURI ) ,
93+ df . namedNode ( 'http://vocab.gtfs.org/terms#dropOffType' ) ,
94+ df . namedNode ( dropOffType )
9595 ) ) ;
9696 this . push (
97- quad (
98- namedNode ( connectionURI ) ,
99- namedNode ( 'http://vocab.gtfs.org/terms#pickupType' ) ,
100- namedNode ( pickupType )
97+ df . quad (
98+ df . namedNode ( connectionURI ) ,
99+ df . namedNode ( 'http://vocab.gtfs.org/terms#pickupType' ) ,
100+ df . namedNode ( pickupType )
101101 ) ) ;
102102
103103 done ( null ) ;
@@ -106,6 +106,4 @@ class Connections2Triples extends Transform {
106106 get templates ( ) {
107107 return this . _templates ;
108108 }
109- }
110-
111- module . exports = Connections2Triples ;
109+ }
0 commit comments