SRSCP- Semantic Reasoner for Smart Car Purchases
I. INTRODUCTION
There are various online platforms that provide services in car purchases and assists us in making choices regarding buying a new car. However, most of them are biased as they are getting sponsored by a specific car’s brand and therefore does not make a fair comparison between several models of cars. SRSCP is an initiative with an aim to provide a bias free semantic reasoner that is able to make fair comparison between cars stored in its knowledge base. To achieve this, I have divided the task into several steps, knowledge acquisition is the step in which I generate unorganized knowledge in the form of terms e.g. (instances, verbs). Which is passed to the second stage, the knowledge conceptualization phase then arranges these terms into a structured model that describes the corresponding Domain. All the concepts and their associated relations, attributes, and instances from the knowledge conceptualization step are codified into a formal language in the knowledge formalization step. OWL, the standard language for ontology construction, is used to formalize the knowledge. This is supported by Protégé 5.5.0, an open-source software for building intelligent systems, based on OWL language SWRL is embedded to enable expressivity (i.e., rules and logic) in OWL.
.
II. PROJECT AIMS
Presented here is a summary of some of the aims we hope to achieve undertaking this project: • Enabling Logical use of concepts and sub-concepts to furnish the ontology. • Correct and effective use of object properties (including constraints and characteristics such as functional, transitive and irreflexive) • Extensive use of SWRL rules (use of object, data properties and SWRL built-ins) • Formulating a correct A-Box with a sufficient number of individuals to use with the defined logic rules (expecting majority of the relations defined by the data properties.
III. METHODOLOGY The Data is collected from google using several online websites and may not be an correspond to a car’s true specification in the real world. Individuals that has been extracted from online websites are: . So in total our knowledge base has 1 car of Audi Company, 1 car of Honda Company, 1 car of Land Rover company, 4 cars of Mercedes, and 2 cars of Porsche. The SRSCP represents the concepts, relations, attributes, and instances for performing Semantic Reasoning. The SRSCP, supported by OWL axioms and SWRL rules, becomes the foundation for automated SR provided the knowledge base. The visualization of SRSCP is shown in Fig. 2. There are Twelve main classes in the SRSCP model.
The information was collected with respect to the following properties of the cars.
.
The Data Property for each car added were:
.
IV. IMPLEMENTATION
To construct the T-Boxes, I have used the help of SWRL rules, that will help classify cars on the basis of their environment-friendliness, Fuel-Efficiency, and Affordability. Moreover, Effective use of Transitive, asymmetric, irreflexive and symmetric rules have been put in practice for better reasoning capabilities.
.
A. Eco Friendly Car:
To define an Eco Friendly Car, the SWRL rule is as follows:
Cars(?p) ^ CO2Emissions(?p, ?x) ^ swrlb:lessThan(?x, 150) -> EcoFriendlyCar(?p)
.
B. Fuel Efficiency:
To define a fuel-efficient car, the SWRL rule is as follows: Cars(?q) ^ Mileage(?q, ?x) ^ swrlb:greaterThan(?x, 40) -> FuelEfficientCar(?q)
.
C. Affordable Car:
To define an affordable car, the SWRL rule is as follows: Cars(?p) ^ price(?p, ?x) ^ swrlb:lessThan(?x, 10000) -> Affordable(?p) Which means that cars whose price is less than 10000 British Pounds are categorized as affordable.
.
D. Powerful Than - Transitive Property:
I have enabled transitive ruling in my ontology. For instance, car A has engine X and car B has engine Y, and car C has Engine Z. Engine X is more powerful than Engine Y and Engine Y is more powerful than Engine Z. Then it is evident that Car A is more powerful than Car C since it has a more powerful engine then Car B. To explain the transitive property, I have taken three cars from our knowledge base: • Mercedes AMG A 43 • Mercedes AMG A 45 • Mercedes C Class In figure below we defined that Mercedes AMG A 45 is Powerful than Mercedes AMG A 43.
.
In figure 8 we define, Mercedes C Class to be more powerful than Mercedes AMG A 45 version, hence the reasoner will reason that Mercedes C Class should be more powerful than Mercedes AMG A 43 too because of the transitive rule.
.
E. Has Hybrid Version:
To determine if a car is a Hybrid version of another car then our swrl rule will look like the following:
hasFuel(?x, ?y) ^ Model(?x, ?c) ^ ManufacturedBy(?x, ?z) ^ManufacturerOf(?z, ?o) ^ differentFrom(?o, ?x) ^ SecondFuel(?o,?p)^swrlb:contains(?p,“Battery”)^Model(?o,?cc)^swrlb:equal(?c,?cc) -> hasHybridVersion(?x, ?o)
Which means that if a car X is produced by a company Y and the Car X is powered by some fuel and has a model name, If the Company Y makes another Car with the name Z, and if that car has the same fuel along with a Second Fuel which has name “Battery” and the model-variant number of both cars is the same. This means that the second car is the Hybrid version of first car. Note: If the assertion doesnot appear while running the reasoner, please stop the reasoner and restart it again.
.
F. Has Rival Car - Symmetric Property:
To define a Rival car, I have assumed the definition that Rival cars are cars that are different from each other but share the same engine, for example Audi A8 and Mercedes C Class are the “Rival Cars” according to our knowledge base. I have used the following SWRL rule: hasEngine(?x, ?y) ^ EngineOf(?y, ?z) ^ differentFrom(?x, ?z) -> hasRival(?x, ?z) Which states that if a car has engine Y and another car in the knowledge base has the same engine Y then both cars are Rivals or “ close competitors “ of each other.
.
G. Has Ancestor Car - Asymmetric Property:
To define an Ancestor Car, I have used the following rule: ManufacturingYear(?p, ?x) ^ ManufacturedBy(?p, ?y) ^ ManufacturerOf(?y, ?z) ^ ManufacturingYear(?z, ?w) ^ swrlb:greaterThan(?w, ?x) ^ differentFrom(?p, ?z) -> hasAncestorCar(?z, ?p)
Which means that if a car P has a manufacturing year X, and there is another car Z which has a manufacturing year W, the car P and Z are made by the same company Y. The manufacturing Year of Car Z is greater than car P then car P is an ancestor car of car Z.
.
H. Expensive Than - irreflexive:
To determine whether a car X is expensive than Y, I have used a SWRL rule:
price(?p, ?x) ^ price(?q, ?y) ^ swrlb:greaterThan(?x, ?y) ^ differentFrom(?p, ?q) -> ExpensiveThan(?p, ?q)
Which means that if a car P has some price and if another car Q has a greater price than P then Q is expensive than P.
.
V. PROSPECTS OF THE PROJECT:
This project has great prospects if implemented on a larger scale. It can reason and assist between different brands within the same price range and help customers buy the best product to match their needs. It can compare features such as Seats, Fuel-Type, Engine, Mileage, hybrid engine compatibility, Fuel Consumption. Allowing us to buy the best car for the budget.