Music and Audio Information Search System

Download Report

Transcript Music and Audio Information Search System

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-Ontologybased 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

Provides information on

















Album
Artist
AudioFile
AudioFileType
Encoding
Instrument
Key
Live
Note
Official
Resource
Rhythm
Signal
Soundtrack
Spokenword
Track
Type
(Classes)
Music and Audio Ontology
Properties)
 Provides information on
 arranged
 covered
 djmix_of
 duration
 image
 linkto_wikipedia
 medley_of
 member_of
 performed
 similar_to
 trackNum
 translation_of
(Data Type and Object
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 dataoriented query model so that there is a more
declarative approach to complement the finegrained, 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 rulebased 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
Computation Engine
User interface
JSP
Pages
Jena 2.3 OWL API
Inference Engine
RDQL
Serarch Query
Protege 3.2
OWL File
Ontology & Knowledge Base
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.tblArtist
WHERE [age]=45
AND [nationality]='Turkish'
AND [country]='Turkey'
AND [numberOfAlbums]=50
GO
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 fileoriented 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. NorthHolland, 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.
SpringerVerlag, Berlin, 1998.
[12]- http://pingthesemanticweb.com/ontology/mo/#sec-external#secexternal
[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://smiweb.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?