This action might not be possible to undo. Are you sure you want to continue?
I choose the project topic that matches one of the topics, on course website, worded as follows: “Development of a small OWL or RDF application, to gain an understanding of web ontology applications. This project would be particularly suited to a group with a strong interest in web applications.” The title of my project is “Wide Area Surveillance based on Ontology Reasoning”.
An overwhelmingly amount of data is generated by sensors. This data, if properly processed and annotated, can be a useful source of information. This work builds an Area Profile Ontology (APO) and import other related ontology to annotate rich data arriving from multiple sensor streams, in this case cameras. The annotation process provides an impetus to the improvement of knowledge over time. APO provides the main concepts and properties to model an area which can span a university campus or an apartment or a city. We also define Jena rules to infer intelligent information about the position of an invader. We illustrate ontology emergence by drawing upon a case study to show an actual application as a proof of concept.
For surveillance of a large area (a university campus or a private property or restricted government area, etc) using networked RFID sensors, CCTVs and smart cameras, an overwhelmingly huge amount of data is generated by these devices. Conventionally, the collected data is stored in databases for processing at later stage, if required. I develop an ontology based reasoning system that receives data from sensor devices, process the received data, and draw inferences in real time. It helps security people by generating appropriate decision or prediction based on data about the intruder it gathers. The input devices can be deployed as fixed devices or on moving robots for dangerous situations like floods, earthquake, etc. Although, sensor networks are distributed by geographic area hierarchy, they have their own knowledge base including ontology data about situation, inference engine and communication protocol between CCTVs. My contributions in this project are as follows: 1. Develop an Area Profile Ontology (APO) that allows annotation of geographical area and data arriving from sensor streams 2. Define Semantic Rules to draw inferences 3. Develop a web based system with user interface
Area Profile Ontology
The use of conceptual modeling in general, and ontology in particular, was initially incorporated by researchers to tackle information silo problem. There are mainly two facets to ontology: ontology as a field and ontologies as an artifact; however, both share a common functionality i.e. ontology as a
Area Profile Ontology is developed by indentifying the 5 general steps. In this paper. we use software engineering principle to determine concepts and their associated relationship.specification of vocabulary. Some of the concepts are borrowed from existing ontologies like GEO1. p. and (v) ontology maintenance. to develop ontology. p P . subsumption. Ontology provides a shared vocabulary to model a domain. SPARQL queries.html . etc. we choose to import existing ontologies as much as possible and add new concepts to suit our requirements. FOAF2 etc.an ontology for spatial modeling like country. the information silo problem has emerged due to ever increasing data i. we create an Area Profile Ontology. Ontology is an explicit specification of conceptualization i. TopBraid Composer is a modeling environment for developing semantic ontologies. Instances are then fed into the ontology which can be further inference to generate vital information. The source code of concepts and properties in Area Profile Ontology. Definition 1: An ontology ̌ is represented as ̌ 〈 〉 Where C is a set of classes (or concepts). functional. but this data is often based on different or incompatible views of the world. is shown in Table1. 3 http://www. (iii) identifying the concepts. In this section. I n C C is a set of relationships between classes defined using relations in P as a set of Triples I n ci . 1 2 http://www. ontology is a description of concepts and relationships that can exist between them. The basic objective.e. is a power set of instance sets of a class There exists various kinds of ontology developments methods. P is a set of properties (or relations) ex: equivalence. the data in science or society get collected at rapidly growing speed from different sources. IN. It shows the imported ontologies. In this work. developed using OWL in TopBraid Composer3. It is normal to borrow concepts from other ontologies. 1 shows a snapshot of the proposed ontology. Fig.e. c j C.w3. defining SWRL rules. cities etc. we model instances (data) of a geographical area in ontology. the prominent concepts and object properties.com/foaf/spec/ . we lay the foundation of Area Profile ontology. The concepts can be determined manually or through an experimental process. The novelty of this work is to design a simple but powerful ontology such that rules can be defined to infer valuable information. To annotate a geographical area and data arriving from sensor streams. in equation (1). including: (i) identifying the ontology purpose. (iv) ontology construction.org/2003/01/geo/ . properties.topquadrant.an ontology for describing a person. explain the various concepts and their associated properties. and conventions.com/products/TB_Composer. c j | ci . http://xmlns. this puts ontologies to re-use. is to model all the available information as instances in the ontology and making it available for later reuse. (ii) choosing a design approach for the ontology. part of. As mentioned above.
river. ocean etc. fresh water lake is a Lake. lochan. garden. lake. EnvO. ocean. in Fig. An Area consists of more than one Block.Fig 1: Area Profile Ontology showing various concepts to represent the knowledge domain Area Profile Ontology. we hope to facilitate the semantic retrieval of any record anchored to APO. It also define synonyms of a term to avoid any disambiguation for ex: the concept ENVO:00000020 define a term LAKE with its synonyms lake. This kind of hierarchy allows inferring additional information that an object near lake is also near water body. is imported to annotate the instances like cave. for example the concept ENVO:00000020 is linked to GEONAMES:LK and GEONAMES:LKS. open water. like fresh water lake. pond. defined using a isA relationship i. loch. Coord is a subclass of geo:Point which is a subclass of geo:SpatialThing. The focus of our effort is to develop an ontology that supports the annotation of the sensor streams arriving . terms like stream. This kind of concept allows to disambiguate the use of different terms by different people as all the terms map to a single concept ENVO:0000020. EnvO etc). It also provides additional information about concept ENVO:00000020 by defining isA relationship. has a central concept Block. An area can be a stretch of road or a campus or whole city. SKOS. through consistent annotation grounded in an ontological framework. pond has as its super concept waterbody. This entails that each instance of type Coord inherits properties from geo:SpatialThing.e. etc. 1. for ex: the concept ENVO:0000020 has as its super concept water body. Each concept in ENVO ontology is also linked to a concept in GEONAMES ontology. lakes. A concept LAKE also has sub concepts. For that matter. We see the Area Profile Ontology (APO) bringing similar benefits to those that can already be achieved with the other ontologies (ex: GEO. llyn. foaf. Each Block is constrained using two pair of coordinates defined using Coord. The environment ontology.
org/2002/07/owl#Thing"/> </owl:Class> <owl:Class rdf:ID="Area"> <rdfs:comment rdf:datatype="http://www. However. prominent concepts and properties in Area Profile Ontology developed using OWL DL.org/2003/01/geo/wgs84_pos"/> <owl:imports rdf:resource="http://www.org//2007/02/jena. This enables to deal with heterogeneity problem often . you might like to tag a dummy location value to an object where some remote sensing devices are currently capturing data.org/2002/07/owl#Thing"/> </owl:Class> <owl:ObjectProperty rdf:ID="isLocatedIn"> <rdfs:domain rdf:resource="#Object"/> <rdfs:range rdf:resource="#Block"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="hasTopCoordinates"> <rdfs:range rdf:resource="#Coord"/> <rdfs:domain rdf:resource="#Block"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="hasPosition"> <rdfs:domain rdf:resource="#Object"/> <rdfs:range rdf:resource="#Coord"/> </owl:ObjectProperty> Semantic Annotation Data streams arriving from sensors are annotated using the concepts in Area Profile Ontology. the sequence of streams arriving from a sensor is transformed into sequences of OWL metadata.w3.w3.org/2001/XMLSchema#string" >Created with TopBraid Composer</owl:versionInfo> <owl:imports rdf:resource="http://www.w3.w3.org/2001/XMLSchema#string" >Every block has 2 set of coordinates.topbraid. Table1 : shows the imported ontologies. The semantic annotation derives relevant semantic metadata from the Area Profile Ontology for making the semantic streams understandable.from multiple sensor devices.w3.w3.owl"/> <owl:imports rdf:resource="http://www. we hope that APO can also be used for the annotation of any record that has location information associated with it. The annotation process also allows defining relationships between annotated data stream at the instance level.w3.w3. For example.org/2001/XMLSchema#string" >This is the overall area of the campus</rdfs:comment> <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Coordinates</rdfs:label> <rdfs:subClassOf rdf:resource="http://www.org/2003/01/geo/wgs84_pos#Point"/> <rdfs:comment rdf:datatype="http://www.org/2001/XMLSchema#string" >This is the overall area of the campus</rdfs:label> <rdfs:subClassOf rdf:resource="http://www.w3. In other words.org/2003/11/swrlb"/> </owl:Ontology> <owl:Class rdf:ID="Coord"> <rdfs:subClassOf rdf:resource="http://www. <owl:Ontology rdf:about=""> <owl:versionInfo rdf:datatype="http://www.</rdfs:comment> <rdfs:label rdf:datatype="http://www.
. It illustrates the coordinates of a concept Block. near IT </isNear> </Block> Fig. The instance. we would like the sensor nodes to communicate with each other and direct information from one node to each other about the possible movement of object thus distributing the processing at intermediate nodes and alleviating a part of work load from the central node containing the ontology and reasoning system.w3.974892</geo:long> </Coord> </hasTopCoordinates> <isNear rdf:datatype="http://www.related with data originating from disparate sources. 2 shows the sensor data originating from a sensor network.org/2001/XMLSchema#string" >Block13</hasName> <hasBottomCoordinates> <Coord rdf:ID="Coord_26"> <geo:lat rdf:datatype="http://www. hasTopCoordinates. This data is stored in the Area Profile Ontology. execute inference rules to deduce new information that to get details about location of an object. Also. In the future work. Table2: An example of instance in Area Profile Ontology <Block rdf:ID="Block_13"> <hasName rdf:datatype="http://www.975319</geo:long> </Coord> </hasBottomCoordinates> <hasTopCoordinates> <Coord rdf:ID="Coord_25"> <geo:lat rdf:datatype="http://www.org/2001/XMLSchema#float" >126.w3.org/2001/XMLSchema#string" >near library.w3.w3.w3.org/2001/XMLSchema#float" >37.org/2001/XMLSchema#float" >37. has two types of coordinates defined using two properties: hasBottomCoordinates. the semantic annotation of data streams is represented in OWL DL. The Area Profile Ontology annotates the received data.209409</geo:lat> <geo:long rdf:datatype="http://www.w3. in this case sensors. As an example in Table2. block_13. it defines the proximity location of instance block_13. using Coord concept. block_13.209860</geo:lat> <geo:long rdf:datatype="http://www.org/2001/XMLSchema#float" >126.
The algorithm is every simple: it treats each box as a rectangle block. Area profile ontology annotates the received stream of data. sensors. location. Note that. An exemplary scenario is demonstrated in Fig. Based on the inferred instances. we write a SPARQL query to output further information about the object. find the position of object instance o by comparing the values of ?lat and ?long with the coordinates of instance of concept Block. 2 shows an exemplary sensor network sending stream of data to the area profile ontology. and Geo Ontology – the next step requires drawing inference to disambiguate the location of object understandable by end user. inferred instances are produced. 3 to understand the rule. After execution of rule.Fig 2: An illustration showing the sensor streams arriving from various sensors for storage in Area Profile Ontology. Semantic Rules and Inference Given the session data. Note that. the algorithm compares if value a is less than or equal to the topleftCoordinate x and greater than bottom right coordinate x. user defined rules to deduce intelligent information about the location of object. GeoNames Ontology. annotated using concepts and properties from Area Profile Ontology. executes entailment rules. store and annotate streaming data using concepts in Area Profile Ontology and other imported ontologies. Each block is defined using two points: topLeftCoordinates and bottomRightCoordinates. We use JENA rule language and JENA API to define rules and process rules. Table 3 shows the proposed rule in Jena syntax. Secondly. Each instance of Coordinate is x-y coordinate represented by latitude and longitude values derived from Google Map. which are properties in the Area Profile Ontology. It is the semantic rules that allow inferring the location of an object. time etc. Given a position of Object o as (a.b). can be interpreted as follows: Given an instance o of concept Object which has latitude represented as ?lat and longitude represented as ?long. arriving from sensor streams. These two computations allows to determine the exact location of object (a. longitude values are increasing as object moves from left to right in horizontal direction and similarly the latitude values increase as object moves from .b). The richness of the proposed rule allows us to define one rule that can process and draw inference from the streaming data. which are cameras in our case. it compares if value b is greater than or equal to topRightCoordinate y and less than top right coordinate y. in Table 3. Environment Ontology. The JENA rule on the left. Fig.
?tlong) lessThan(?long. 4 represents a span of area under University of Suwon Campus.b) lies in a block. Table 3: Jena Rule on the left allows to infer location of an object . for each block.w3. Jena API. The details of each block are listed in table 4.?blong) ->. b1<b<=b2. Experiment/Case Study We have implemented the proposed framework in university environment for deploying the ontology and evaluating the semantic rules. and rule on the right allows to infer nearby locations based on the location inferred from the previous rule. if a2<a<=a1 – this positions the object vertically. A . The jena rule on the right. The web interface of the system was developed using Java technologies. (?o :isNear ?place1) ]</jena:rule> Fig 3 : Exemplary scenario An object whose coordinates are (a. It lists top coordinates and bottom coordinates. It extends from IT Department to KuWon research center. It consist of 14 blocks. enables to find nearby locations based on the inferred location of object from rule named “Find”.w3. the condition. Also.org/2001/XMLSchema#string" >[Find: (?b rdf:type :Block) (?b :hasTopCoordinates ?ct) (?ct geo:lat ?tlat) (?ct geo:long ?tlong) (?b :hasBottomCoordinates ?cb) (?cb geo:lat ?blat) (?cb geo:long ?blong) (?o rdf:type :Object) (?o :hasPosition ?p) (?p geo:lat ?lat) (?p geo:long ?long) le(?lat. “AddNearbyPlaces”. In the explanation below is explained an example scenario to verify execution of developed ontology and Jena rules. positions the object horizontally. and AJAX. which is latitude and longitude.?blat) ge (?long. (?o :isLocatedIn ?b) ]</jena:rule>] <jena:rule rdf:datatype="http://www. Various open source APIs were used to realize this work. for ex: Google Map API. Area Profile Ontology and semantic rules were then moved to the APACHE Tomcat Web Server which was used for hosting the web service. etc.?tlat) greaterThan(?lat. for b.org/2001/XMLSchema#string" >[AddNearbyPlaces: (?o rdf:type :Object) (?b rdf:type :Block) (?o :isLocatedIn ?b) (?b :isNear ?place1) ->. The Area Profile Ontology and its instance and semantic rules were created using Top Braid Composer. <jena:rule rdf:datatype="http://www. PHP.bottom to top in vertical direction. The map in fig.
The position of object being input to the ontology in this example is 37. Each block instance b13 contains additional information associated with it.975464. This will shift the focus from using closed and relatively small information spaces towards open and comparatively larger informative spaces. that the IT Building is actually a building. Further. the execution of Jena rule infers that the current position is close to IT building. in table 4. The user can minimize the total number of displayed instances by enabling one or more restrictions thus providing to the point results. Faceted browser is based on an ontology that describes important aspects of instances which are then used to define restrictions on the instances. so that user can go on searching further by just clicking on the results. further information can be drawn for ex: the object is near the IT building in University of Suwon and the IT building is near the library and so on. the second rule execute to draw further information about block 13. A proof of concept is developed to realize the system which is accessible through the following URL http://211.209446. and Jena rules. The information is streamed to the back end server and tagged by the ontology. we would like to build a faceted semantic browser. In the future work.228:8080/krr. During the movement of the object. The back end system consists of ontology. the cameras along the path capture its position. instances. Block instance B13. It receives the input information and infers the location of the object that it is close to IT building. Based on the inferred information that object is located in Block 13. Fig 4 : Block diagram for the location indices on the map .225.221.dummy object is allowed to move from incubation center towards the IT building. adjacently located to Belcanto Arts Center. 126. Using this inferred information. this can be manually verified from data instances. and stream the required data to the back end system. This additional information was entered manually and tagged using EnvO ontology.
209409.975842 37.228:8080/krr/index. 126.978991 37. latitude and longitude drawn from the area located in University of Suwon.209860.978991 37. near library near belcanto. 126. 126.owl The java source code that loads the ontology.209860.209409. 126.209860.978599 37. block. 126.209860.209644. 126.209860.225. 126.209860.978993 37. 126.977108 37.jsp This is a web application so it requires a web server.html .977784 37.209149.209860.209409.977030 37.209409. near IT Bldg at sikdang Table 4: The data.975721 37.978583 37. 126. near library. 126.209409.209409.block B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12 B13 B14 hasTopCoordinates 37. 126.209409. 126.974892 37.209860. 126.979415 37. near library near belcanto. 126.979415 37.209860. The html and jsp file : index.209409.209409. 126.html. 126.java.209409.209640. 126. 126.978143 37.976263 37.977902 37.209860. near bank near bank near bank. 126. 126. I have installed everything on the Apache Tomcat web server which is accessible through http://211.209409.975319 37. 126. 126.977422 37. near student hall near bank near sagori towards bank side near sagori towards river near sagori.975721 37.976596 37. 126.976665 37.html.209860. is input to the ontology for mapping an area How to execute the code: The following files are included along with this document: The ontology file: grrcv3. 126.221.978409 Position near incubation center near incubation center near sikdang near sikdang. near library near belcanto.975517 37.209860.978232 37.209860.977360 37. 126.209409. 126.976215 37. 126.978116 hasBottomCoordinates 37. and getLocation.975517 37. execute the jena rules through the jena rule engine: GedLocation. 126.
in the webapps folder.owl and put them in the root folder of apache tomcat. type the following URL http://localhost:8080/krr/index. they may follow the following steps: Step1: install apache tomcat. Start the web server.zip and copy all the unzipped files to the folder Krr created in the previous step.The krr in the above URL represent a folder that should contain all the files required to execute this project as a web service.Done. If someone wants to test the application at their own system. Step2: Unzip the file krr. create the folder Krr. Step3: copy test.rules and grrcv3. .html in your browser.
This action might not be possible to undo. Are you sure you want to continue?
We've moved you to where you read on your other device.
Get the full title to continue listening from where you left off, or restart the preview.