Upload
stephanie-rose
View
214
Download
0
Embed Size (px)
Citation preview
Music and Audio Information Search System
Kiavash Bahreini – 055251
Outline
Introduction Semantic Web What is Ontology? Domains and ranges Ontology Languages (OWL) Search on the Web Object-oriented Modeling Paradigm Adaptable Inference Capabilities Background The Music Ontology and OWL Protégé JBuilder 2006 Jena 2.3 Ontology API
Outline (cont)
RDQL Java Server Pages Algernon Tomcat Microsoft SQL Server Music and Audio system use case, implementation and execution Execution of program in Browser Running queries in Algernon Running queries in SQL Server 2005 Some source codes for classes in Music and Audio ontology Comparison of Semantic Search and Regular Search Conclusion References
Introduction
Internet changed the music industry. At first, sharing systems like Napster allowed people to share any song they had on their computer with millions other people.
Communities like this ontology started to appear.
The Music Ontology is an attempt to link all the information about musical Artists, Albums and Tracks together: from MusicBrainz to my ontology.
Introduction (Cont)
The goal is to express all relations between musical information to help people finding anything about music and musicians. It is based around the use of machine readable information provided by any web site or web service on the Web.
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.
What is Ontology?
At the heart of all Semantic Web applications is the use of ontologies. A commonly agreed definition of an ontology is: ‘An ontology is an explicit and formal specification of a conceptualisation of a domain of interest.
Domains and ranges
Ontology Languages (OWL)
OWL Lite
OWL DL
OWL Full
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.
Object-oriented Modeling Paradigm
In the past decade the object-oriented paradigm has become prevalent for conceptual modeling.
Object-oriented models can easily be visualized, thus making understanding conceptual models much simpler. Hence, any successful ontology modeling approach should follow the object-oriented modeling paradigm.
Adaptable Inference Capabilities
Inference mechanisms for deduction of information not explicitly asserted is an important characteristic of ontology-based systems. However, systems with very general inference capabilities often do not take into account other needs, such as scalability and concurrency.
For example, in the RDFS and OWL ontology languages it is possible to make some classes the domain or the range of some property. This statement can be interpreted as an axiom saying that for any property instance in the ontology, the source and target instances can be inferred to be members of the domain and target concepts, respectively.
Background
The Music Ontology is an effort of ZitGist LLC. to express musical relationships between artists, albums and tracks.
I used OWL and to query that same information using the RDQL query language for RDF and OWL.
The Music Ontology is mainly influenced by the MusicBrainz community music metadatabase. Most of the properties of this ontology reflect the relationships described in that database. Most of the relationship descriptions written in this document have been taken on the MusicBrainz Wiki
The Music Ontology and OWL
The Music Ontology is an application of the Ontology Web Language (OWL) because the subject area I am describing – music: albums, artists, audio files, audio file formats, encoding audio files, genre, instrument, key, note, official, resource, rhythm etc has so many competing requirements.
By using OWL, the Music Ontology gains a powerful extensibility mechanism, allowing Music-Ontology-based descriptions to be mixed with claims made in any other OWL and RDF vocabulary
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
Music and Audio Ontology (Classes)
Provides information on Album Artist AudioFile AudioFileType Encoding Instrument Key Live Note Official Resource Rhythm Signal Soundtrack Spokenword Track Type
Music and Audio Ontology (Data Type and
Object Properties)
Provides information on arranged covered djmix_of duration image linkto_wikipedia medley_of member_of performed similar_to trackNum translation_of
Music and Audio Ontology (General
structure)
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.3 Ontology API
Jena 2.3 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. It is "data-oriented" in that it only queries the
information held in the models; there is no inference being done. Of course, the Jena model may be 'smart' in that it provides the
impression that certain triples exist by creating them on-demand.
Java Server Pages
JavaServer Pages (JSP) technology allows web developers and designers to rapidly develop and
easily maintain information-rich, dynamic web pages that leverage existing business systems. As part of the Java family, the JSP technology enables
rapid development of web-based applications that are platform independent.
In theory, JavaServer Pages technology separates the user interface from content generation, enabling designers to change the overall page layout without
altering the underlying dynamic content.
Algernon
Algernon is a rule-based inference system, implemented in Java and interfaced with
Protégé and it is developed by Micheal Hewett. It allows executing queries within the
Protégé GUI. It performs forward and backward rule-
based processing of knowledge bases, and efficiently stores and retrieves information in
ontologies and knowledge bases. It has an ability to call external Java methods and an
internal LISP subsystem.
Tomcat
Tomcat is the official reference implementation of the Java Servlet 2.2 and JavaServer Pages 1.1 technologies. Developed under the Apache license in an open and participatory environment, it is intended to be a collaboration of the best-of-breed developers from around the world.
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
Microsoft SQL Server
Microsoft SQL Server 2005 is a database and data analysis platform for large-scale online transaction processing (OLTP), data warehousing, and e-commerce applications.
The Database Engine is the core service for storing, processing, and securing data. The Database Engine provides controlled access and rapid transaction processing to meet the requirements of the most demanding data consuming applications within your enterprise. The Database Engine also provides rich support for sustaining high availability.
Music and Audio system use case, implementation and execution
Music and Audio system use case, implementation and execution Execution of program in Browser
JBuilder 2006
Protege 3.2
OWL File
Ontology & Knowledge Base
User interface
JSPPages
Computation Engine
Jena 2.3 OWL API
Inference Engine
RDQLSerarch Query
Music and Audio system use case, implementation and execution Execution of program in Browser
Music and Audio system use case, implementation and execution Running queries in Algernon
1) Find all artist names that their age=45, nationality="Turkish", country "Turkey", and numberOfAlbums=50:
((:BIND ?age 45)(:BIND ?nationality "Turkish")
(:BIND ?country "Turkey")(:BIND ?numberOfAlbums 50)
(:INSTANCE Artist ?aName)(age ?aName ?age)
(nationality ?aName ?nationality)(country ?aName ?country)
(numberOfAlbums ?aName ?numberOfAlbums)(:FAIL (:neq ?age ?age))
(:FAIL (:neq ?nationality ?nationality))(:FAIL (:neq ?country ?country))
(:FAIL (:neq ?numberOfAlbums ?numberOfAlbums)))
Music and Audio system use case, implementation and execution Running queries in
Algernon 2) Find all WebSites
Address for artists:
((:BIND ?hasResource "N/A")(:INSTANCE Resource ?AtristWebsiteAddress)
(hasResource ?AtristWebsiteAddress ?hasResource)(:FAIL (:neq ?hasResource ?myLink)))
Music and Audio system use case, implementation and execution Running queries in Algernon
3) Find all album names which are not linkto_wikipedia site:
((:BIND ?linkto_wikipedia "N/A")(:INSTANCE Album ?albumName)
(linkto_wikipedia ?albumName ?linkto_wikipedia)(:FAIL (:neq ?linkto_wikipedia ?linkto_wikipedia)))
Music and Audio system use case, implementation and execution Running queries in SQL Server 2005
1) Find all artist names that their age=45, nationality="Turkish", country "Turkey", and numberOfAlbums=50:
SELECT DISTINCT [name], [age], [nationality], [country], [numberOfAlbums]
FROM dbo.tblArtistWHERE [age]=45
AND [nationality]='Turkish' AND [country]='Turkey'
AND [numberOfAlbums]=50GO
Music and Audio system use case, implementation and execution Running queries in SQL Server 2005
2) Find all WebSites Address for artists:
SELECT [id], [name], [hasResource]FROM dbo.tblResource
WHERE [hasResource]='N/A'GO
Music and Audio system use case, implementation and execution Running queries in Algernon
3) Find all album names which are not linkto_wikipedia site:
SELECT [id], [name], [linkto_wikipedia]FROM dbo.tblAlbum
WHERE [linkto_wikipedia]='N/A'GO
Music and Audio system use case, implementation and execution
Some source codes for classes in Music and Audio ontology:
<owl:Class rdf:ID="Album"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#strin g" >Album - This is a generic term defining a package of tracks. This applies to compact disks, vinyls, CD singles, EPs, etc. </rdfs:comment> <rdfs:subClassOf> <owl:Class rdf:about="#MyClasses"/> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" >1</owl:maxCardinality> <owl:onProperty> <owl:DatatypeProperty rdf:ID="albumName"/> </owl:onProperty> </owl:Restriction> </rdfs:subClassOf> </owl:Class>
Comparison of Semantic Search and Regular Search In relational database management systems (RDBMS), there is
no class relationship. It means sub classes cannot inherit all properties from their super classes and also there is no instantiation.
Extra work will be required to define class relations and all properties separately.
In semantic databases there are domains and ranges which can apply for each property but in an RDBMS it is impossible.
There is no object property for these systems. In relational database Vastly coding implementation for
returning data is need. There is no way for using and importing ontologies, and for
returning objects data types.
Comparison of Semantic Search and Regular Search By using OWL, the Music Ontology gains a powerful
extensibility mechanism, allowing Music-Ontology-based descriptions to be mixed with claims made in any other OWL or RDF vocabularies. I can re-use other ontologies to describe different relationship between classes.
OWL provides the Music Ontology with a way to mix together different descriptive vocabularies in a consistent way. Vocabularies can be created by different communities and groups as appropriate and mixed together as required, without needing any centralized agreement.
On the other hand, many existing SW tools are still file-oriented and also mine. This limits the size of ontologies that can be processed, as the whole ontology must be read into main memory. Further, the multi-user support and transactions are typically not present, so the whole infrastructure realizing these requirements must be created from scratch but my project is web based and it is able support multi-user transactions.
Conclusion The Music Ontology is an application of the Ontology Web Language
(OWL) because the subject area are – music: artists, albums and tracks etc -- has so many competing requirements that a standalone format would not capture them or would lead to trying to describe these requirements in a number of incompatible formats. By using OWL, the Music Ontology gains a powerful extensibility mechanism, allowing Music-Ontology-based descriptions to be mixed with claims made in any other OWL vocabulary.
OWL provides the Music Ontology with a way to mix together different descriptive vocabularies in a consistent way. Vocabularies can be created by different communities and groups as appropriate and mixed together as required, without needing any centralized agreement.
In summary then, OWL is self-documenting in ways which enable the creation and combination of vocabularies in a devolved manner. This is particularly important for an ontology which describes communities, since online communities connect into many other domains of interest, which it would be impossible (as well as suboptimal) for a single group to describe adequately in non-geological time.
References [1]- http://purl.org/ [2]- Multimedia Content and the Semantic Web METHODS, STANDARDS AND TOOLS Edited by
Giorgos Stamou and Stefanos Kollias Both of National Technical University of Athens, Greece. John Wiley & Sons Ltd.
[3]- T. Berners-Lee, J. Hendler, O. Lassila, The Semantic Web. Scientific American, 284(5), 34–43, 2001.
[4]- O. Lassila, R.R. Swick, Resource Description Framework (RDF) Model and Syntax Specification, http://www.w3.org/TR/REC-rdf-syntax/.
[5]- D. Brickley, R.V. Guha, RDF Vocabulary Description Language 1.0: RDF Schema, http://www.w3.org/TR/rdfschema/.
[6]- M. Kifer, G. Lausen, J. Wu, Logical foundations of object-oriented and frame-based languages. Journal of the ACM, 42, 741–843, 1995.
[7]- 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.
[8]- 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.
[9]- 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. North- Holland, Amsterdam, 1983.
[10]- M. Fowler, K. Scott, UML Distilled: A Brief Guide to the Standard Object Modeling Language, 2nd edn. Addison-Wesley, Reading, MA, 1999.
References (Cont1)
[11]- A. Evans, A. Clark, Foundations of the Unified Modeling Language. Springer-Verlag, Berlin, 1998.
[12]- http://pingthesemanticweb.com/ontology/mo/#sec-external#sec- external [13]- http://www.w3.org/2001/sw/, no pagination, verified on Oct 17, 2002. [14]- http://www.w3.org/2001/sw/, no pagination, verified on July 1st, 2003. [15]- Tim Berners-Lee, James Hendler, and Ora Lassila. The semantic web. Scientific
American, 2001(5), 2001. [16]- Ubbo Visser Intelligent Information Integration for the Semantic Web Springer. [17]- 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.
[18]- http://www.w3.org/2004/OWL/ [19]- http://www.w3.org/RDF/ [20]- The Semantic Web: A Guide to the Future of XML, Web Services, and
Knowledge Management Michael C. Daconta Leo J. Obrst Kevin T. Smith [21]- 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.
[22]- Protégé overview, URL: http://protege.stanford.edu, last visited: June 2006
References (Cont2)
[23]- 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
[24]- 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://smi-web.stanford.edu/pubs/SMI_Reports/SMI-2002-0943.pdf
[25]- Erhan Gayde Thesis Eastern Mediterranean University September 2006, Gazimağusa, North Cyprus
[26]- http://www.Borlan.com/ [27]- Jena – A Semantic Web Framework for Java, URL: http://jena.sourceforge.net/. [28]- HP Labs Semantic Web Research, URL: http://www.hpl.hp.com/semweb/. [29]- http://jena.sourceforge.net/tutorial/RDQL/ [30]- Borland JBuilder 2006 Documentation Files. [31]- http://algernon-j.sourceforge.net/ [32]- http://www.hewettresearch.com/mikehewett.html [33]- http://jatha.sourceforge.net/ [34]- http://jakarta.apache.org/site/binindex.html [35]- Microsoft SQL Server 2005 Documentation
Thank you
Any Questions?