traffic crash - Eastern Mediterranean University

Download Report

Transcript traffic crash - Eastern Mediterranean University

Traffic Crash Report
Information Search System
Kiavash Bahreini – 055251
Outline













Introduction
Semantic Web
Search on the Web
Adaptable Inference Capabilities
The Traffic crash Ontology(properties)
Protégé
Traffic crash Ontology in Protégé
JBuilder 2006
Jena 2.2 Ontology API
RDQL
Java Server Pages
Tomcat
Traffic crash system use case, implementation and execution
Outline (cont)











Execution of program in Browser by running queries
Converting Owl file to rdf file
Compare RDBMS with OWL queries
Applying annotation
Reasonable Search engine
Insert into Owl file
Delete from Owl file
Some source codes for classes in traffic crash ontology
Comparison of Semantic Search and Regular Search
Conclusion
References
Introduction
 The
traffic crash database provides
information on the frequency and severity of
crashes within the state, demographic
characteristics of individuals involved in
crashes as well as weather, lighting or other
related conditions associated with the crash
incident.
Semantic Web
 Common framework
 Allows data
 Sharing
 Reuse
 Across domains
 Application
 Enterprise
 Community boundaries
 Based on Resource Description Framework (RDF)
 XML for syntax
 URIs for naming.
Search on the Web
 Seeking information on the Web is widely
used and will become more important as the
Web grows. Nowadays, search engines
browse through the Web seeking given terms
within web pages or text documents without
using ontologies.
 Traditional search engines such as Yahoo
are based on full-text search. These search
engines are seeking documents, which
contain certain terms.
Adaptable Inference Capabilities
 Inference mechanisms for deduction of
information not explicitly asserted is an
important characteristic of ontologybased systems. However, systems with
very general inference capabilities often
do not take into account other needs,
such as scalability and concurrency.
The Traffic crash Ontology(properties)
 The content of Traffic crash report is:
















Age
Gender
Driver/Occupant
Non-Occupant Type
Pedestrian Visibility
Safety Equipment
Seat Position
Type of Vehicle
Collision Type
Injury Severity
Severity of Crash
Weather Conditions
Lighting Conditions
Time Period
Day of Week
County of Occurrence
Protégé
 Protégé is



an ontology editor
knowledge-base editor
an open-source, Java tool

provides extensible architecture to create
customized knowledge-based applications.
 Developed by Stanford University, USA
Traffic crash Ontology in Protégé
JBuilder 2006
 The system is written in JBuilder 2006.
JBuilder
is
and
IDE
(Integrated
Development Tools) for developing new
application, web etc software based on Java
Language. All of the packages and classes
for using OWL and running queries are
imported into this IDE.
Jena 2.2 Ontology API
 Jena 2.2 Ontology API is a Java framework
for building Semantic Web applications. Use
RDF models in your Java applications with
the Jena Semantic Web Framework.
RDQL
 RDQL is a query language for
RDF in Jena models. The idea is
to provide a data-oriented query
model so that there is a more
declarative
approach
to
complement
the
fine-grained,
procedural Jena API.
Java Server Pages
 JavaServer Pages (JSP) technology
allows
web
designers to



developers
rapidly develop
Easily maintain information-rich,
Dynamic web pages
and
Tomcat
 Tomcat is the official reference implementation of the Java
Servlet 2.2 and JavaServer Pages 1.1 technologies.
 Tomcat is a servlet container and JavaServer Pages(tm)
implementation.
 It may be used stand alone, or in conjunction with several
popular web servers:
 Apache, version 1.3 or later
 Microsoft Internet Information Server, version 4.0 or later
 Microsoft Personal Web Server, version 4.0 or later
 Netscape Enterprise Server, version 3.0 or later
Traffic crash system use case,
implementation and execution
Traffic crash system use case,
implementation and execution
 Execution of program in Browser
JBuilder 2006
Computation Engine
User interface
JSP
Pages
Jena 2.2 OWL API
Inference Engine
RDQL
Serarch Query
Protege 3.2
OWL File
Ontology & Knowledge Base
Traffic crash system use case,
implementation and execution
 http://app.idph.state.il.us/emsrpt/crash.asp
Traffic crash system use case,
implementation and execution
 Running queries in Browser
 1) Lists of whole injurers:
String queryString = " SELECT ?subjectName" +
" WHERE ( ?in, nss:" + predicateName + ", ?objectName)" +
" USING nss FOR <" + NS + ">";
Traffic crash system use case,
Converting Owl file to rdf file
(output)
Traffic crash system use case,
Converting Owl file to rdf file
(generated rdf)
<?xml version="1.0" encoding="windows-1252"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:vcard="http://www.w3.org/2001/vcard-rdf/3.0#">
<rdf:Description rdf:about="http://www.owl-ontologies.com/TrafficCrash.owl#">
<vcard:LABEL rdf:parseType="Resource">
<vcard:Given>hadSafetyEquipmentUsed</vcard:Given>
<vcard:Suffix>"Helmet"</vcard:Suffix>
<vcard:Prefix>Milad</vcard:Prefix>
</vcard:LABEL>
<vcard:LABEL rdf:parseType="Resource">
<vcard:Suffix>"Other"</vcard:Suffix>
<vcard:Prefix>Samuel</vcard:Prefix>
<vcard:Given>hadSeatPosition</vcard:Given>
</vcard:LABEL>
</rdf:Description>
</rdf:RDF>
Traffic crash system use case,
applying annotation:
 Running queries in Browser
 1) Smith information:
<owl:AnnotationProperty rdf:ID="SmithAnnotation">
<rdf:type
rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
<rdfs:range>
<owl:DataRange>
<owl:oneOf rdf:parseType="Resource">
<rdf:first
rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>Smith</rdf:first>
<rdf:rest
rdf:resource="http://www.w3.org/1999/02/22-rdf-syntaxns#nil"/>
</owl:oneOf>
</owl:DataRange>
</rdfs:range>
<rdfs:domain rdf:resource="#Injured"/>
</owl:AnnotationProperty>
Traffic crash system use case,
implementation and execution
 Annotation output:
Traffic crash system use case,
implementation and execution
 Annotation output (continue):
Traffic crash system use case,
implementation and execution
 Running queries in Browser

2) Select injurers with conditions:
String queryString = " SELECT ?GenderType ?Age ?SeatPosition ?PedestrianVisibility ?LightingConditions
?TypeOfVehicle
?SeverityOfCrash
?NonOccupantType
?PassengerType
?DayOfWeek
?SafetyEquipmentUsed ?CountyOfOccurrence ?InjurySeverityNonMotorVehicle ?Weather ?TimePeriod
?CollisionType ?InjurySeverityMotorVehicle" +
" WHERE ( nss:" + InjuredName + ", nss:hasGenderType , ?GenderType)" +
" ( nss:" + InjuredName + ", nss:hasAge, ?Age)" +
" ( nss:" + InjuredName + ", nss:hadSeatPosition , ?SeatPosition)" +
" ( nss:" + InjuredName + ", nss:hadPedestrianVisibility , ?PedestrianVisibility)" +
" ( nss:" + InjuredName + ", nss:hadLightingConditions , ?LightingConditions)" +
" ( nss:" + InjuredName + ", nss:hadTypeOfVehicle , ?TypeOfVehicle)" +
" ( nss:" + InjuredName + ", nss:hadSeverityOfCrash , ?SeverityOfCrash)" +
" ( nss:" + InjuredName + ", nss:hadNonOccupantType , ?NonOccupantType)" +
" ( nss:" + InjuredName + ", nss:hadPassengerType , ?PassengerType)" +
" ( nss:" + InjuredName + ", nss:hadDayOfWeek , ?DayOfWeek)" +
" ( nss:" + InjuredName + ", nss:hadSafetyEquipmentUsed , ?SafetyEquipmentUsed)" +
" ( nss:" + InjuredName + ", nss:hadCountyOfOccurrence , ?CountyOfOccurrence)" +
" ( nss:" + InjuredName + ", nss:hadInjurySeverityNonMotorVehicle , ?InjurySeverityNonMotorVehicle)"
+
" ( nss:" + InjuredName + ", nss:hadWeather , ?Weather)" +
" ( nss:" + InjuredName + ", nss:hadTimePeriod , ?TimePeriod)" +
" ( nss:" + InjuredName + ", nss:hadCollisionType , ?CollisionType)" +
" ( nss:" + InjuredName + ", nss:hadInjurySeverityMotorVehicle , ?InjurySeverityMotorVehicle)" +
" USING nss FOR <" + NS + ">";
Traffic crash system use case,
implementation and execution
 Output:
Traffic crash:
Reasonable Search engine
 Running queries in Browser
 3) The minimum crash in which season was occured ? :
for (int k = 0; k < tokenArray.length; k++) {
if (tokenArray[k].equalsIgnoreCase("season") && tokenArray[k]!=null) {
k=tokenArray.length;
for (int j = 0; j < tokenArray.length; j++) {
if (tokenArray[j].equalsIgnoreCase("crashes") || tokenArray[j].equalsIgnoreCase("crash") || tokenArray[j].equalsIgnoreCase("accident")
tokenArray[j]!=null) {
j=tokenArray.length;
for (int i = 0; i < tokenArray.length; i++) {
if (tokenArray[i].equalsIgnoreCase("min") || tokenArray[i].equalsIgnoreCase("minimum") || tokenArray[i].equalsIgnoreCase("atleast")
|| tokenArray[i].equalsIgnoreCase("max") || tokenArray[i].equalsIgnoreCase("maximum") || tokenArray[i].equalsIgnoreCase("atmost")
tokenArray[i]!=null) {
i=tokenArray.length;
for (int c = 0; c < readFile.length(); c++) {
int startIndex = readFile.indexOf("<hadWeather rdf:datatype=\"http://www.w3.org/2001/XMLSchema#string\"", c);
if (startIndex != -1) {
int startIndex1 = readFile.indexOf(">", startIndex+66);
int nameIndex = readFile.indexOf("</hadWeather>", startIndex1 + 1);
reasonArray[reasonCounter++] = new String(readFile.substring(startIndex1 + 1, nameIndex));
c = nameIndex + 13;
weather=true;
}
}
}
}
}
}
}
}
}
&&
&&
Traffic crash:
Reasonable Search engine
 Output:
Traffic crash:
Reasonable Search engine
 Continue output:
Traffic crash:
Insert into Owl file
 output:
Traffic crash:
Delete from Owl file
 output:
Traffic crash system use case,
implementation and execution
 Some
source
codes for
classes in
traffic crash
ontology:
<rdfs:domain rdf:resource="#Injured"/>
<rdfs:range>
<owl:DataRange>
<owl:oneOf rdf:parseType="Resource">
<rdf:first rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>Back</rdf:first>
<rdf:rest rdf:parseType="Resource">
<rdf:first rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>Front</rdf:first>
<rdf:rest rdf:parseType="Resource">
<rdf:first rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>Other</rdf:first>
<rdf:rest rdf:parseType="Resource">
<rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntaxns#nil"/>
<rdf:first rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>Unknown</rdf:first>
</rdf:rest>
</rdf:rest>
</rdf:rest>
</owl:oneOf>
</owl:DataRange>
</rdfs:range>
</owl:DatatypeProperty>
Comparison of Semantic Search and
Regular Search
 In RDBMS model, there is no reasoner-based
system to infer information but here there
exist.
 We cannot use inference engines in RDBMS.
 We cannot use unsupervised learning in
RDBMS.
 We cannot use supervised learning in
RDBMS
 In semantic approach the data being marked
provides the possibility for computers and
other digital agents to process and
‘understand’.
Conclusion
 The Traffic Crash Report Form is used to
report traffic crashes.
 It is based on reasonable-based system.
 Platform independence.
 Tools independence.
 User friendly based on web pages.
 It allows usingmany annotating techniques.
 It allows users to search, add, and delete
information from web pages.
References













[1]- T. Berners-Lee, J. Hendler, O. Lassila, The Semantic Web. Scientific
American, 284(5), 34–43,
2001.
[2]- O. Lassila, R.R. Swick, Resource Description Framework (RDF) Model and
Syntax
Specification, http://www.w3.org/TR/REC-rdf-syntax/.
[3]- D. Brickley, R.V. Guha, RDF Vocabulary Description Language 1.0: RDF
Schema,
http://www.w3.org/TR/rdfschema/.
[4]- M. Kifer, G. Lausen, J. Wu, Logical foundations of object-oriented and frame-based languages.
Journal of the ACM, 42, 741–843, 1995.
[5]- D. Fensel, I. Horrocks, F. van Harmelen, S. Decker, M. Erdmann, M.
Klein, OIL in a nutshell. In
Knowledge Acquisition, Modeling, and
Management, Proceedings of the European Knowledge
Acquisition
Conference (EKAW-2000), October, pp. 1–16. Springer-Verlag, Berlin,
2000.
[6]- P.F. Patel-Schneider, P. Hayes, I. Horrocks, F. van Harmelen, Web
Ontology Language (OWL)
Abstract Syntax and Semantics,
http://www.w3.org/TR/owl-semantics/, November 2002.
[7]- C. Davis, S. Jajodia, P. Ng, R. Yeh (eds), Entity-Relationship Approach to
Software
Engineering: Proceedings of the 3rd International Conference on Entity-Relationship Approach, Anahein,
CA, 5–7, October. NorthHolland, Amsterdam, 1983.
[8]- Tim Berners-Lee, James Hendler, and Ora Lassila. The semantic web. Scientific American, 2001(5),
2001.
[9]- Semantic Web Technologies Trends and Research in Ontology-based Systems John Davies BT, UK
Rudi Studer University of Karlsruhe,
Germany Paul Warren BT, UK John Wiley & Sons Ltd.
[10]- http://www.w3.org/2004/OWL/
[11]- http://www.w3.org/RDF/
[12]- The Semantic Web: A Guide to the Future of XML, Web Services, and Knowledge Management
Michael C. Daconta Leo J. Obrst Kevin T.
Smith
[13]- I. Horrocks, “DAML+OIL: A Description Logic for the Semantic Web.” Bulletin of the IEEE Computer
Society Technical Committee on Data
Engineering, IEEE, Vol. 25, No. 1, pp. 4-9, 2002.
References














(Cont1)
[14]- Protégé overview, URL: http://protege.stanford.edu, last visited: June 2006
15]- N. F. Noy, M. Sintek, S. Decker, M. Crubezy, R. W. Fergerson, & M. A. Musen.
“Creating Semantic Web Contents with Protege-2000”, IEEE
Intelligent Systems
16(2):60-71, 2001
[16]- J. Gennari, M. A. Musen, R. W. Fergerson, W. E. Grosso, M. Crubézy, H.
Eriksson, N. F. Noy, S. W. Tu, “The Evolution of Protégé: An
Environment
for Knowledge-Based Systems Development”, 2002, URL:
http://smiweb.stanford.edu/pubs/SMI_Reports/SMI-2002-0943.pdf
[17]- Erhan Gayde Thesis Eastern Mediterranean University September 2006,
Gazimağusa, North Cyprus
[18]- http://www.Borland.com/
[19]- Jena – A Semantic Web Framework for Java, URL:
http://jena.sourceforge.net/.
[20]- HP Labs Semantic Web Research, URL:
http://www.hpl.hp.com/semweb/.
[21]- http://jena.sourceforge.net/tutorial/RDQL/
[22]- Borland JBuilder 2006 Documentation Files.
[23]- http://www.hewettresearch.com/mikehewett.html
[24]- http://jatha.sourceforge.net/
[25]- http://jakarta.apache.org/site/binindex.html
Thank you
 Any Questions?