Commit 09d09c83 authored by Andrei Popescu's avatar Andrei Popescu
Browse files

edit

parent de6215b9
Pipeline #57527 passed with stage
in 40 seconds
......@@ -18,6 +18,7 @@ for (let [schemaPath,object] of Array.from(schema_object)){
let schema = require(schemaPath.toString());
let writer = new N3.Writer({prefixes:config.prefixes});
let prefix = config.prefix;
Traverse.initialise(writer, prefix);
RDFTools.initialise(object, config.terms); //initialising the filename written by RDF tools with the name of the main object
// filename ,
......@@ -25,7 +26,5 @@ for (let [schemaPath,object] of Array.from(schema_object)){
Traverse.traverse('schema', schema);
RDFTools.writeTurtle(Traverse.getWriter());
ShaclTools.writeShacl();
//ShaclTools.writeShacl(JsonProcessor.getMainObject(), JsonProcessor.getShaclFileText());
}
@prefix gbfs: <https://w3id.org/gbfs/terms>.
@prefix schema: <http://schema.org/#>.
@prefix ebucore: <http://www.ebu.ch/metadata/ontologies/ebucore/ebucore#>.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
@prefix dcterms: <http://purl.org/dc/terms/>.
@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#>.
@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>.
@prefix vann: <http://purl.org/vocab/vann/>.
@prefix owl: <http://www.w3.org/2002/07/owl#>.
@prefix jsonsc: <https://www.w3.org/2019/wot/json-schema#>.
@prefix airs: <https://raw.githubusercontent.com/airs-linked-data/lov/latest/src/airs_vocabulary.ttl#>.
@prefix vso: <http://purl.org/vso/ns#>.
@prefix dbpedia-owl: <http://dbpedia.org/ontology/>.
gbfs:ttl rdf:type xsd:integer;
rdfs:label "Number of seconds before the data in the feed will be updated again (0 if the data should always be refreshed)."@en.
gbfs:alerts rdfs:range gbfs:Alerts.
gbfs:Alerts rdf:type rdfs:Class.
gbfs:alert_id rdf:type xsd:string;
rdfs:label "Identifier for this alert."@en.
gbfs:type rdf:type xsd:string;
rdfs:label "Type of alert."@en.
gbfs:Type owl:oneOf (<SYSTEM_CLOSURE> <STATION_CLOSURE> <STATION_MOVE> <OTHER>).
gbfs:times rdfs:range gbfs:Times.
gbfs:Times rdf:type rdfs:Class.
gbfs:start rdf:type xsd:integer;
rdfs:label "undefined"@en.
gbfs:end rdf:type xsd:integer;
rdfs:label "undefined"@en.
gbfs:times rdfs:range gbfs:Times.
gbfs:Times rdfs:hasProperty (<start> <end>).
gbfs:station_ids rdfs:range gbfs:Station_ids.
gbfs:Station_ids rdf:type rdfs:Class.
gbfs:region_ids rdfs:range gbfs:Region_ids.
gbfs:Region_ids rdf:type rdfs:Class.
gbfs:url rdf:type xsd:string;
rdfs:label "URL where the customer can learn more information about this alert."@en.
gbfs:summary rdf:type xsd:string;
rdfs:label "A short summary of this …played to the customer."@en.
gbfs:description rdf:type xsd:string;
rdfs:label "Detailed description of the alert."@en.
gbfs:alerts rdfs:range gbfs:Alerts.
gbfs:Alerts rdfs:hasProperty (<alert_id> <type> <times> <station_ids> <region_ids> <url> <summary> <description> <last_updated>).
gbfs:data rdfs:range gbfs:Data.
gbfs:Data rdfs:hasProperty (<alerts>).
gbfs:schema rdfs:range gbfs:Schema.
gbfs:Schema rdfs:hasProperty (<last_updated> <ttl> <data>).
<https://w3id.org/gbfs/terms/> a sh:NodeShape;
sh:targetClass <https://w3id.org/gbfs/terms/alert>;
sh:property [
sh:path <last_updated>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype integer;
];sh:property [
sh:path <ttl>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype integer;
];sh:property [
sh:path <data>;
sh:minCount 1;
sh:maxCount 1;
];sh:property [
sh:path <alerts>;
sh:minCount 1;
sh:maxCount 1;
];sh:property [
sh:path <alert_id>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype string;
];sh:property [
sh:path <type>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype string;
];sh:property [
sh:path <summary>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype string;
];sh:property [
sh:path <last_updated>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype integer;
];
\ No newline at end of file
@prefix gbfs: <https://w3id.org/gbfs/terms>.
@prefix schema: <http://schema.org/#>.
@prefix ebucore: <http://www.ebu.ch/metadata/ontologies/ebucore/ebucore#>.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
@prefix dcterms: <http://purl.org/dc/terms/>.
@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#>.
@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>.
@prefix vann: <http://purl.org/vocab/vann/>.
@prefix owl: <http://www.w3.org/2002/07/owl#>.
@prefix jsonsc: <https://www.w3.org/2019/wot/json-schema#>.
@prefix airs: <https://raw.githubusercontent.com/airs-linked-data/lov/latest/src/airs_vocabulary.ttl#>.
@prefix vso: <http://purl.org/vso/ns#>.
@prefix dbpedia-owl: <http://dbpedia.org/ontology/>.
gbfs:ttl rdf:type xsd:integer;
rdfs:label "Number of seconds before the data in the feed will be updated again (0 if the data should always be refreshed)."@en.
gbfs:bikes rdfs:range gbfs:Bikes.
gbfs:Bikes rdf:type rdfs:Class.
gbfs:bike_id rdf:type xsd:string;
rdfs:label "Rotating (as of v2.0) identifier of a vehicle."@en.
gbfs:bikes rdfs:range gbfs:Bikes.
gbfs:Bikes rdfs:hasProperty (<bike_id> <lat> <lon> <is_reserved> <is_disabled>).
gbfs:data rdfs:range gbfs:Data.
gbfs:Data rdfs:hasProperty (<bikes>).
gbfs:schema rdfs:range gbfs:Schema.
gbfs:Schema rdfs:hasProperty (<last_updated> <ttl> <data>).
<https://w3id.org/gbfs/terms/> a sh:NodeShape;
sh:targetClass <https://w3id.org/gbfs/terms/bike>;
sh:property [
sh:path <last_updated>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype integer;
];sh:property [
sh:path <ttl>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype integer;
];sh:property [
sh:path <data>;
sh:minCount 1;
sh:maxCount 1;
];sh:property [
sh:path <bikes>;
sh:minCount 1;
sh:maxCount 1;
];sh:property [
sh:path <bike_id>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype string;
];sh:property [
sh:path <lat>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype integer;
];sh:property [
sh:path <lon>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype integer;
];
\ No newline at end of file
@prefix gbfs: <https://w3id.org/gbfs/terms>.
@prefix schema: <http://schema.org/#>.
@prefix ebucore: <http://www.ebu.ch/metadata/ontologies/ebucore/ebucore#>.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
@prefix dcterms: <http://purl.org/dc/terms/>.
@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#>.
@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>.
@prefix vann: <http://purl.org/vocab/vann/>.
@prefix owl: <http://www.w3.org/2002/07/owl#>.
@prefix jsonsc: <https://www.w3.org/2019/wot/json-schema#>.
@prefix airs: <https://raw.githubusercontent.com/airs-linked-data/lov/latest/src/airs_vocabulary.ttl#>.
@prefix vso: <http://purl.org/vso/ns#>.
@prefix dbpedia-owl: <http://dbpedia.org/ontology/>.
gbfs:ttl rdf:type xsd:integer;
rdfs:label "Number of seconds before the data in the feed will be updated again (0 if the data should always be refreshed)."@en.
gbfs:version rdf:type xsd:string;
rdfs:label "GBFS version number to which the feed conforms, according to the versioning framework (added in v1.1)."@en.
gbfs:calendars rdfs:range gbfs:Calendars.
gbfs:Calendars rdf:type rdfs:Class.
gbfs:start_month rdf:type xsd:integer;
rdfs:label "Starting month for the system operations."@en.
gbfs:start_day rdf:type xsd:integer;
rdfs:label "Starting day for the system operations."@en.
gbfs:start_year rdf:type xsd:integer;
rdfs:label "Starting year for the system operations."@en.
gbfs:end_month rdf:type xsd:integer;
rdfs:label "End month for the system operations."@en.
gbfs:end_day rdf:type xsd:integer;
rdfs:label "End day for the system operations."@en.
gbfs:end_year rdf:type xsd:integer;
rdfs:label "End year for the system operations."@en.
gbfs:calendars rdfs:range gbfs:Calendars.
gbfs:Calendars rdfs:hasProperty (<start_month> <start_day> <start_year> <end_month> <end_day> <end_year>).
gbfs:data rdfs:range gbfs:Data.
gbfs:Data rdfs:hasProperty (<calendars>).
gbfs:schema rdfs:range gbfs:Schema.
gbfs:Schema rdfs:hasProperty (<last_updated> <ttl> <version> <data>).
<https://w3id.org/gbfs/terms/> a sh:NodeShape;
sh:targetClass <https://w3id.org/gbfs/terms/calendar>;
sh:property [
sh:path <last_updated>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype integer;
];sh:property [
sh:path <ttl>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype integer;
];sh:property [
sh:path <version>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype string;
];sh:property [
sh:path <data>;
sh:minCount 1;
sh:maxCount 1;
];sh:property [
sh:path <calendars>;
sh:minCount 1;
sh:maxCount 1;
];sh:property [
sh:path <start_month>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype integer;
];sh:property [
sh:path <start_day>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype integer;
];sh:property [
sh:path <end_month>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype integer;
];sh:property [
sh:path <end_day>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype integer;
];
\ No newline at end of file
@prefix gbfs: <https://w3id.org/gbfs/terms>.
@prefix schema: <http://schema.org/#>.
@prefix ebucore: <http://www.ebu.ch/metadata/ontologies/ebucore/ebucore#>.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
@prefix dcterms: <http://purl.org/dc/terms/>.
@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#>.
@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>.
@prefix vann: <http://purl.org/vocab/vann/>.
@prefix owl: <http://www.w3.org/2002/07/owl#>.
@prefix jsonsc: <https://www.w3.org/2019/wot/json-schema#>.
@prefix airs: <https://raw.githubusercontent.com/airs-linked-data/lov/latest/src/airs_vocabulary.ttl#>.
@prefix vso: <http://purl.org/vso/ns#>.
@prefix dbpedia-owl: <http://dbpedia.org/ontology/>.
gbfs:ttl rdf:type xsd:integer;
rdfs:label "Number of seconds before the data in the feed will be updated again (0 if the data should always be refreshed)."@en.
gbfs:version rdf:type xsd:string;
rdfs:label "GBFS version number to which the feed conforms, according to the versioning framework (added in v1.1)."@en.
gbfs:plans rdfs:range gbfs:Plans.
gbfs:Plans rdf:type rdfs:Class.
gbfs:plan_id rdf:type xsd:string;
rdfs:label "Identifier of a pricing plan in the system."@en.
gbfs:url rdf:type xsd:string;
rdfs:label "URL where the customer can learn more about this pricing plan."@en.
gbfs:name rdf:type xsd:string;
rdfs:label "Name of this pricing plan."@en.
gbfs:currency rdf:type xsd:string;
rdfs:label "Currency used to pay the fare in ISO 4217 code."@en.
gbfs:price rdf:type xsd:integer;
rdfs:label "Fare price."@en.
gbfs:is_taxable rdf:type xsd:boolean;
rdfs:label "Will additional tax be added to the base price?"@en.
gbfs:description rdf:type xsd:string;
rdfs:label "Customer-readable description of the pricing plan."@en.
gbfs:per_km_pricing rdfs:range gbfs:Per_km_pricing.
gbfs:Per_km_pricing rdf:type rdfs:Class.
gbfs:start rdf:type xsd:integer;
rdfs:label "Number of kilometers that have to elapse before this segment starts applying (added in v2.1-RC2)."@en.
gbfs:rate rdf:type xsd:integer;
rdfs:label "Rate that is charged for each kilometer interval after the start (added in v2.1-RC2)."@en.
gbfs:interval rdf:type xsd:integer;
rdfs:label "Interval in kilometers at which the rate of this segment is either reapplied indefinitely, or if defined, up until (but not including) end kilometer (added in v2.1-RC2)."@en.
gbfs:end rdf:type xsd:integer;
rdfs:label "The kilometer at which the rate will no longer apply (added in v2.1-RC2)."@en.
gbfs:per_km_pricing rdfs:range gbfs:Per_km_pricing.
gbfs:Per_km_pricing rdfs:hasProperty (<start> <rate> <interval> <end>).
gbfs:per_min_pricing rdfs:range gbfs:Per_min_pricing.
gbfs:Per_min_pricing rdf:type rdfs:Class.
gbfs:start rdf:type xsd:integer;
rdfs:label "Number of minutes that have to elapse before this segment starts applying (added in v2.1-RC2)."@en.
gbfs:rate rdf:type xsd:integer;
rdfs:label "Rate that is charged for each minute interval after the start (added in v2.1-RC2)."@en.
gbfs:interval rdf:type xsd:integer;
rdfs:label "Interval in minutes at which the rate of this segment is either reapplied (added in v2.1-RC2)."@en.
gbfs:end rdf:type xsd:integer;
rdfs:label "The minute at which the rate will no longer apply (added in v2.1-RC2)."@en.
gbfs:per_min_pricing rdfs:range gbfs:Per_min_pricing.
gbfs:Per_min_pricing rdfs:hasProperty (<start> <rate> <interval> <end>).
gbfs:surge_pricing rdf:type xsd:boolean;
rdfs:label "Is there currently an increase in price in response to increased demand in this pricing plan? (added in v2.1-RC2)"@en.
gbfs:plans rdfs:range gbfs:Plans.
gbfs:Plans rdfs:hasProperty (<plan_id> <url> <name> <currency> <price> <is_taxable> <description> <per_km_pricing> <per_min_pricing> <surge_pricing>).
gbfs:data rdfs:range gbfs:Data.
gbfs:Data rdfs:hasProperty (<plans>).
gbfs:schema rdfs:range gbfs:Schema.
gbfs:Schema rdfs:hasProperty (<last_updated> <ttl> <version> <data>).
<https://w3id.org/gbfs/terms/> a sh:NodeShape;
sh:targetClass <https://w3id.org/gbfs/terms/pricingPlan>;
sh:property [
sh:path <last_updated>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype integer;
];sh:property [
sh:path <ttl>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype integer;
];sh:property [
sh:path <version>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype string;
];sh:property [
sh:path <data>;
sh:minCount 1;
sh:maxCount 1;
];sh:property [
sh:path <plans>;
sh:minCount 1;
sh:maxCount 1;
];sh:property [
sh:path <plan_id>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype string;
];sh:property [
sh:path <url>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype string;
];sh:property [
sh:path <name>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype string;
];sh:property [
sh:path <currency>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype string;
];sh:property [
sh:path <price>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype integer;
];sh:property [
sh:path <description>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype string;
];sh:property [
sh:path <start>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype integer;
];sh:property [
sh:path <rate>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype integer;
];sh:property [
sh:path <interval>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype integer;
];sh:property [
sh:path <start>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype integer;
];sh:property [
sh:path <rate>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype integer;
];sh:property [
sh:path <interval>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype integer;
];
\ No newline at end of file
@prefix gbfs: <https://w3id.org/gbfs/terms>.
@prefix schema: <http://schema.org/#>.
@prefix ebucore: <http://www.ebu.ch/metadata/ontologies/ebucore/ebucore#>.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
@prefix dcterms: <http://purl.org/dc/terms/>.
@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#>.
@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>.
@prefix vann: <http://purl.org/vocab/vann/>.
@prefix owl: <http://www.w3.org/2002/07/owl#>.
@prefix jsonsc: <https://www.w3.org/2019/wot/json-schema#>.
@prefix airs: <https://raw.githubusercontent.com/airs-linked-data/lov/latest/src/airs_vocabulary.ttl#>.
@prefix vso: <http://purl.org/vso/ns#>.
@prefix dbpedia-owl: <http://dbpedia.org/ontology/>.
gbfs:ttl rdf:type xsd:integer;
rdfs:label "Number of seconds before the data in the feed will be updated again (0 if the data should always be refreshed)."@en.
gbfs:version rdf:type xsd:string;
rdfs:label "GBFS version number to which the feed conforms, according to the versioning framework (added in v1.1)."@en.
gbfs:regions rdfs:range gbfs:Regions.
gbfs:Regions rdf:type rdfs:Class.
gbfs:region_id rdf:type xsd:string;
rdfs:label "identifier of the region."@en.
gbfs:name rdf:type xsd:string;
rdfs:label "Public name for this region."@en.
gbfs:regions rdfs:range gbfs:Regions.
gbfs:Regions rdfs:hasProperty (<region_id> <name>).
gbfs:data rdfs:range gbfs:Data.
gbfs:Data rdfs:hasProperty (<regions>).
gbfs:schema rdfs:range gbfs:Schema.
gbfs:Schema rdfs:hasProperty (<last_updated> <ttl> <version> <data>).
<https://w3id.org/gbfs/terms/> a sh:NodeShape;
sh:targetClass <https://w3id.org/gbfs/terms/region>;
sh:property [
sh:path <last_updated>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype integer;
];sh:property [
sh:path <ttl>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype integer;
];sh:property [
sh:path <version>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype string;
];sh:property [
sh:path <data>;
sh:minCount 1;
sh:maxCount 1;
];sh:property [
sh:path <regions>;
sh:minCount 1;
sh:maxCount 1;
];sh:property [
sh:path <region_id>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype string;
];sh:property [
sh:path <name>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype string;
];
\ No newline at end of file
@prefix gbfs: <https://w3id.org/gbfs/terms>.
@prefix schema: <http://schema.org/#>.
@prefix ebucore: <http://www.ebu.ch/metadata/ontologies/ebucore/ebucore#>.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
@prefix dcterms: <http://purl.org/dc/terms/>.
@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#>.
@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>.
@prefix vann: <http://purl.org/vocab/vann/>.
@prefix owl: <http://www.w3.org/2002/07/owl#>.
@prefix jsonsc: <https://www.w3.org/2019/wot/json-schema#>.
@prefix airs: <https://raw.githubusercontent.com/airs-linked-data/lov/latest/src/airs_vocabulary.ttl#>.
@prefix vso: <http://purl.org/vso/ns#>.
@prefix dbpedia-owl: <http://dbpedia.org/ontology/>.
gbfs:ttl rdf:type xsd:integer;
rdfs:label "Number of seconds before the data in the feed will be updated again (0 if the data should always be refreshed)."@en.
gbfs:version rdf:type xsd:string;
rdfs:label "GBFS version number to which the feed conforms, according to the versioning framework (added in v1.1)."@en.
gbfs:rental_hours rdfs:range gbfs:Rental_hours.
gbfs:Rental_hours rdf:type rdfs:Class.
gbfs:user_types rdfs:range gbfs:User_types.
gbfs:User_types rdf:type rdfs:Class;
owl:oneOf (<member> <nonmember>).
gbfs:days rdfs:range gbfs:Days.
gbfs:Days rdf:type rdfs:Class;
owl:oneOf (<sun> <mon> <tue> <wed> <thu> <fri> <sat>).
gbfs:start_time rdf:type xsd:string;
rdfs:label "Start time for the hours of operation of the system."@en.
gbfs:end_time rdf:type xsd:string;
rdfs:label "End time for the hours of operation of the system."@en.
gbfs:rental_hours rdfs:range gbfs:Rental_hours.
gbfs:Rental_hours rdfs:hasProperty (<user_types> <days> <start_time> <end_time>).
gbfs:data rdfs:range gbfs:Data.
gbfs:Data rdfs:hasProperty (<rental_hours>).
gbfs:schema rdfs:range gbfs:Schema.
gbfs:Schema rdfs:hasProperty (<last_updated> <ttl> <version> <data>).
<https://w3id.org/gbfs/terms/> a sh:NodeShape;
sh:targetClass <https://w3id.org/gbfs/terms/rentalHour>;
sh:property [
sh:path <last_updated>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype integer;
];sh:property [
sh:path <ttl>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype integer;
];sh:property [
sh:path <version>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype string;
];sh:property [
sh:path <data>;
sh:minCount 1;
sh:maxCount 1;
];sh:property [
sh:path <rental_hours>;
sh:minCount 1;
sh:maxCount 1;
];sh:property [
sh:path <start_time>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype string;
];sh:property [
sh:path <end_time>;
sh:minCount 1;
sh:maxCount 1;
sh:datatype string;
];
\ No newline at end of file
@prefix gbfs: <https://w3id.org/gbfs/terms>.
@prefix schema: <http://schema.org/#>.
@prefix ebucore: <http://www.ebu.ch/metadata/ontologies/ebucore/ebucore#>.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.