// International train connections domain ontology // Concept definition: location location[ name=>string, locatedIn=>>country ]. //Concept definition: station station::location. country::location. city::location. village::location. //locatedIn is a transitive property X:location[locatedIn->>Y] :- X:location[locatedIn->>Z], Z:location[locatedIn->>Y]. invalid(X, 'cyclic dependency locatedIn') :- X:location[locatedIn->>X]. // Concept definition: borderStation // Defines a train station at the border borderStation::station[ borderToCounty =>> country ]. //Concept definition: itinerary itinerary[ startLocation => station, endLocation => station, via =>> station, departure => dateAndTime, arrival => dateAndTime ]. //Concept definition: customer traveller[ name => string ]. //Concept definition: ticket //Defines a ticket that relates an itinerary to a customer ticket::product[ itinerary => itinerary, traveller => traveller ]. // Axiom definition: axiomDateTime // departure has to be before arrival //axiomDepartureArrival:axiomDefinition[ // definedBy -> X1:itinerary[departure->X2, arrival->X3], X2[before(X3)->true] //]. //This is the F-Logic processable rule invalid(I) :- I:itinerary[departure->X2, arrival->X3], after(X2,X3). // below, some instances are defined that are needed throughout the use case modeling germany:country[name -> 'Germany']. austria:country[name -> 'Austria']. innsbruckHbf:station[name ->'Innsbruck Hbf', locatedIn ->> innsbruck]. innsbruck:city[name->'Innsbruck',locatedIn->> austria]. boesby:village[name->'Boesby', locatedIn->>germany]. frankfurtHbf:station[name ->'Frankfurt Hbf', locatedIn ->> germany]. kufsteinHbf:borderStation[name -> 'Kufstein Hbf', locatedIn ->> austria, borderToCounty ->> germany]. salzburgHbf:borderStation[name -> 'Salzburg Hbf', locatedIn ->> austria, borderToCounty ->> germany]. freilassingBf:borderStation[name -> 'Freilassing Bf', locatedIn ->> germany, borderToCounty ->> austria]. kiefersfeldenBf:borderStation[name -> 'Kiefersfelden Bf', locatedIn ->> germany, borderToCounty ->> austria].