This document provides a tutorial on using the Protege software to build ontologies. It explains that Protege allows constructing domain models and knowledge bases using ontologies. The tutorial then demonstrates how to install Protege, create classes and subclasses, add properties and restrictions, define domains and ranges, and use a reasoner to classify and check the ontology for inconsistencies. Various exercises are presented to help the user learn how to structure information in Protege.
This presentation walks through essential points for developing and working with REST APIs or web services to communicate through various platforms. This also explains HTTP methods.
This presentation walks through essential points for developing and working with REST APIs or web services to communicate through various platforms. This also explains HTTP methods.
The presentation describes how to install the NLTK and work out the basics of text processing with it. The slides were meant for supporting the talk and may not be containing much details.Many of the examples given in the slides are from the NLTK book (http://www.amazon.com/Natural-Language-Processing-Python-Steven/dp/0596516495/ref=sr_1_1?ie=UTF8&s=books&qid=1282107366&sr=8-1-spell ).
MongoDB is the most famous and loved NoSQL database. It has many features that are easy to handle when compared to conventional RDBMS. These slides contain the basics of MongoDB.
This Edureka Python tutorial will help you in learning various sequences in Python - Lists, Tuples, Strings, Sets, Dictionaries. It will also explain various operations possible on them. Below are the topics covered in this tutorial:
1. Python Sequences
2. Python Lists
3. Python Tuples
4. Python Sets
5. Python Dictionaries
6. Python Strings
This is the slides I used when I shared my humble insight on Django to the students in University of Taipei in 2016. Please feel free to correct me if there is anything wrong.
Find out which is faster, SQL or NoSQL, for traditional reporting tasks. Discover how you can optimise MongoDB aggregation pipelines and how to push complex computation down to the database.
A presentation on "Rest api with Python" presented at Python Developers Nepal Meetup #6 by Santosh Ghimire. It focuses more on Django Rest Framework library.
by Mahesh Pakal, AWS
PostgreSQL is a powerful, enterprise class open source object-relational database system with an emphasis on extensibility and standards-compliance. PostgreSQL boasts many sophisticated features and runs stored procedures in more than a dozen programming languages. We’ll explore the advantages and limitations of PostgreSQL, examples of where it is best suited for use, and examples of who is using PostgreSQL to power their applications.
What really are recommendations engines nowadays?
This presentation introduces the foundations of recommendation algorithms, and covers common approaches as well as some of the most advanced techniques. Although more focused on efficiency than theoretical properties, basics of matrix algebra and optimization-based machine learning are used through the presentation.
Table of Contents:
1. Collaborative Filtering
1.1 User-User
1.2 Item-Item
1.3 User-Item
* Matrix Factorization
* Stochastic Gradient Descent (SGD)
* Truncated Singular Value Decomposition (SVD)
* Alternating Least Square (ALS)
* Deep Learning
2. Content Extraction
* Item-Item Similarities
* Deep Content Extraction: NLP, CNN, LSTM
3. Hybrid Models
4. In Production
4.1 Problematics
4.2 Solutions
4.3 Tools
Grand Rapids PHP Meetup: Behavioral Driven Development with BehatRyan Weaver
Testing our applications is something we all do. Ahem, rather, it's something we all *wish* we did. In this chat, I'll introduce you to Behat (behat.org) (version 3!!!!): a behavior-driven-development (BDD) library that allows you to write functional tests against your application just by writing human-readable sentences/scenarios. To sweeten the deal these tests can be run in a real browser (via Selenium2) with just the flip of a switch. If you asked me to develop without Behat, I'd just retire. It's that sweet. By the end, you'll have everything you need to start functionally-testing with Behat in your new, or very old and ugly project.
The presentation describes how to install the NLTK and work out the basics of text processing with it. The slides were meant for supporting the talk and may not be containing much details.Many of the examples given in the slides are from the NLTK book (http://www.amazon.com/Natural-Language-Processing-Python-Steven/dp/0596516495/ref=sr_1_1?ie=UTF8&s=books&qid=1282107366&sr=8-1-spell ).
MongoDB is the most famous and loved NoSQL database. It has many features that are easy to handle when compared to conventional RDBMS. These slides contain the basics of MongoDB.
This Edureka Python tutorial will help you in learning various sequences in Python - Lists, Tuples, Strings, Sets, Dictionaries. It will also explain various operations possible on them. Below are the topics covered in this tutorial:
1. Python Sequences
2. Python Lists
3. Python Tuples
4. Python Sets
5. Python Dictionaries
6. Python Strings
This is the slides I used when I shared my humble insight on Django to the students in University of Taipei in 2016. Please feel free to correct me if there is anything wrong.
Find out which is faster, SQL or NoSQL, for traditional reporting tasks. Discover how you can optimise MongoDB aggregation pipelines and how to push complex computation down to the database.
A presentation on "Rest api with Python" presented at Python Developers Nepal Meetup #6 by Santosh Ghimire. It focuses more on Django Rest Framework library.
by Mahesh Pakal, AWS
PostgreSQL is a powerful, enterprise class open source object-relational database system with an emphasis on extensibility and standards-compliance. PostgreSQL boasts many sophisticated features and runs stored procedures in more than a dozen programming languages. We’ll explore the advantages and limitations of PostgreSQL, examples of where it is best suited for use, and examples of who is using PostgreSQL to power their applications.
What really are recommendations engines nowadays?
This presentation introduces the foundations of recommendation algorithms, and covers common approaches as well as some of the most advanced techniques. Although more focused on efficiency than theoretical properties, basics of matrix algebra and optimization-based machine learning are used through the presentation.
Table of Contents:
1. Collaborative Filtering
1.1 User-User
1.2 Item-Item
1.3 User-Item
* Matrix Factorization
* Stochastic Gradient Descent (SGD)
* Truncated Singular Value Decomposition (SVD)
* Alternating Least Square (ALS)
* Deep Learning
2. Content Extraction
* Item-Item Similarities
* Deep Content Extraction: NLP, CNN, LSTM
3. Hybrid Models
4. In Production
4.1 Problematics
4.2 Solutions
4.3 Tools
Grand Rapids PHP Meetup: Behavioral Driven Development with BehatRyan Weaver
Testing our applications is something we all do. Ahem, rather, it's something we all *wish* we did. In this chat, I'll introduce you to Behat (behat.org) (version 3!!!!): a behavior-driven-development (BDD) library that allows you to write functional tests against your application just by writing human-readable sentences/scenarios. To sweeten the deal these tests can be run in a real browser (via Selenium2) with just the flip of a switch. If you asked me to develop without Behat, I'd just retire. It's that sweet. By the end, you'll have everything you need to start functionally-testing with Behat in your new, or very old and ugly project.
The use of libraries or frameworks forces us to write a considerable amount of initialization code, often very repetitive and usually difficult to remember; it is what we call boilerplate code. In this talk, different mechanisms available in Android Studio and the Java language will be presented. In particular, we will provide an overview of the code completion mechanisms, ADT Templates, Gradle plugins, Annotation Processors and Android Studio/IntelliJ IDEA plugin system.
Alex Podopryhora - Selling across multiple channels made easyMeet Magento Italy
The heydays of conventional “brick and mortar” as well as catalogue channels are over. The online multichannel transformation has made it more difficult for businesses to acquire and retain shoppers; it has added major challenges to a product online visibility and stock management. But all this can be addressed with new strategies while managing multichannel complexities.
What are the main online marketplaces?
What multi channel solution choices are available?
What is 3rd generation multi-channel software?
How to succeed with very little or no budget?
Alex Podopryhora (co-founder of M2E Pro) answers those questions in great detail and shows how to start selling across multiple channels in no time.
This talk will introduce the audience to Vice http://www.openplans.org/projects/vice/project-home a cutting-edge solution to all outbound syndication needs for Plone 3.1+, providing RSS 1.0, RSS 2.0, and Atom feed formats for all built in content types.
FitNesse is an open-source automated framework for Integration, Acceptance Testing. It increases collaboration between developers, testers and customers. This presentation was presented at Knoldus Knolx session. We used Scala to write Fixtures and used simple example to explain it.
Python is one of the powerful, high-level, easy to learn programming language that
provides a huge number of applications. Some of its features, such as being object-oriented
and open source, having numerous IDE’s, etc. make it one of the most in-demand
programming languages of the present IT industry.
According to TIOBE index, as of January 2020, Python is one of the popular programming
languages. By looking at the popularity of this programming language, many IT
professionals, both beginners as well as experienced alike, are willing to build their career
as a Python developer
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
2. What is protege?
Protege is a free, open-source platform to construct
domain models and knowledge-based applications
with ontologies.
Ontologies range from taxonomies, classifications,
database schemas to fully axiomatized theories.
Ontologies are now central to many applications
such as scientific knowledge portals, information
management and integration systems, electronic
commerce and web services
3. Install Protege
Go to
http://protege.stanford.edu/doc/owl/getting-started.html
to download protege (version 3.x)
Protege OWL editor is built with the full installation
of protege platform. During the install process,
choose the “Basic+OWL” option.
For more details:
http://protege.stanford.edu/doc/owl/getting-
started.html
4. Protege
There are two main ways of modelling ontologies:
Frame-based
OWL
Each has its own user interface
Protege Frames editor: enables users to build and populate ontologies that
are frame-based, in accordance with OKBC (Open Knowledge Base
Connectivity Protocol).
Classes
Slots for properties and relationships
Instances for class
Protege OWL editor: enables users to build ontology for the Semantic Web,
in particular to OWL
Classes
Properties
Instances
reasoning
5. Building an OWL Ontology
E2: Create a new OWL project
Start protege
File – New Project – OWL/RDF files – Ontology
URI (http://www.pizza.com/ontologies/pizza.owl) –
OWL DL – Properties View
A new empty Protege-OWL project has been
created.
Save it in your local file as pizza.owl
6. Named Classes
Go to OWL Classes tab
The empty class tree contains one class called owl:Thing,
which is superclass of everything.
E3: Create subclasses Pizza, PizzaTopping and
PizzaBase. They are subclasses of owl:Thing.
Naming convention
no special naming convention
consistency
7. Disjoint classes
E4: How to say that Pizza, PizzaTopping and
PizzaBase classes are disjoint.
1. Select the class Pizza
2. Press “add siblings” button
on the disjoint classes
widget
3. Add PizzaBase and
PizzaTopping
4. Select the class
PizzaTopping,
5. Add Pizza and PizzaBase
to the disjoint class
8. E5: Create group of classes
Create ThinAndCrisyBase and
DeepPanBase as the subclasses of
PizzaBase, and each of them are disjointed.
Select PizzaBase, right click the mouse,
select “create subclasses”
Follow the wizard to create these two disjoint
classes.
It will save lots of time when there is need to
create lots of disjoint classes.
9. E6: Create some subclasses of
PizzaTopping
Select PizzaTopping,
Create subclaesses as MeatTopping, VegetableTopping,
CheeseTopping and SeafoodTopping. Make sure that
these classes are disjoint to each other.
Select the class MeatTopping,
Add disjoint subclasses: SpicyBeefTopping,
PepperoniTopping, SalamiTopping and HamTopping
Select VegetableTopping:
Add disjoint subclasses: TomatoTopping, OliveTopping,
MushroomTopping, PepperTopping, OnionTopping,
CaperTopping
11. OWL Properties
OWL Properties represent relationships
between two objects.
There are two main properties:
Object properties: link object to object
datatype properties: link object to XML Schema
datatype or rdf:literal
OWL has another property – Annotation
properties, to be used to add annotation
information to classes, individuals, and
properties
12.
13. E7: Create an object property
Switch to the “Properties” tab,
Use “Create Object Property” button to create
a new object property.
Rename it to hasIngredient
15. Inverse Properties
Each object property may have a
corresponding inverse property.
If some property links individual a to
individual b, then its inverse property will link
individual b to individual a.
16. E9: Create inverse properties
Create a new object property called isIngredientOf
Press “Set inverse property” button,
Select “hasIngredient”
Then the inverse relation has been set up.
Select hasBase
Create the isBaseOf as the inverse property of hasBase
isBaseOf is the subproperty of isIngredientOf, why?
Select hasTopping
create isToppingOf as the inverse property.
isToppingOf is the subproperty
of isIngredientOf, why?
17. Functional Properties
If a property is functional, for a given individual,
there can only be at most one individual to be
related via this property.
For a given domain, range must be unique
Functional properties are also known as single
valued properties.
18. Inverse Functional Properties
If a property is inverse functional, then its
inverse property is functional.
For a given range, domain must be unique.
19. Functional vs. inverse
functional properties
FunctionalProperty vs InverseFunctionalProperty
domain range example
Functional
Property
For a given
domain
Range is
unique
hasFather: A hasFather
B, A hasFather C B=C
InverseFunctional
Property
Domain is
unique
For a given
range
hasID: A hasID B, C
hasID B A=C
20. Transitive Properties
If a property is transitive, and the property related individual a
to individual b, and also individual b to individual c, then we
can infer that individual a is related to individual c via property
P.
21. Symmetric Properties
If a property P is symmetric, and the property
relates individual a to individual b, then
individual b is also related to individual a via
property P.
22. E10: Make the hasIngredient
property transitive
Select the hasIngredient property
Tick the transitive tick box
Select the isIngredientOf property, make sure
that the transitive tick box is ticked.
23. E11: Make the hasBase
property functional
Select the hasBase property
Tick the “functional” tick box
OWL-DL does not allow datatype properties
to be transitive, symmetric or have inverse
properties.
24. Property domains and ranges
Properties link individuals from the domain to
individuals from the range.
OWL uses domain and range as axioms in
reasoning.
25. E12: Specify the range of
hasTopping
Select hasTopping
Press range button
Select PizzaTopping
Press OK button
PizzaTopping should be displayed in the range
list.
When multiple classes are added to the
range, they represent the union of all classes.
26. E13: Specify Pizza as the domain
of the hasTopping property
Select hasTopping property
Press add domain button
Select Pizza
Press OK
Pizza is displayed in the domain list.
When multiple classes are added as domain,
they represent as the union of these classes.
27. E14: Specify the domain and range for
the isToppingOf property
Select the isToppingOf property
Set the domain of the isToppingOf property to
PizzaTopping
Set the range of the isToppingOf property to
Pizza.
28. E15: Specify the domain and range for the hasBase
property and its inverse property isBaseOf
Select the hasBase property
Specify the domain as Pizza
Specify the range as PizzaBase
Select the isBaseOf property
Specify the domain as PizzaBase
Specify the range as Pizza
29. Property restrictions
In OWL, properties are used to create restrictions.
Restrictions are used to restrict the individuals that
belong to a class
Three restrictions:
Quantifier restrictions
Existential quantifier ( )
Universal quantifier ( )
Cardinality restrictions
hasValue restrictions
∃
∀
30. E16: Add a restriction to Pizza
Add a restriction to Pizza that specifies a
Pizza must have a PizzaBase
Select Pizza
Select Necessary header to create a necessary
condition
Select create a restriction wizard
Select hasBase as restricted property
Select someValueFrom as restriction
Put PizzaBase into the filler
32. E18: Creating different kinds of
Pizzas
Create a subclass of Pizza called
NamedPizza, and a subclass of NamedPizza
called MargheritaPizza.
Add comment to MargheritaPizza: A pizza
that only has Mozarella and Tomato toppings
33. E19: Adding restrictions to
MargheritaPizza
To specify that MargheritaPizza has at least one
MozzarellaTopping.
Select MargheritaPizza
Go to “Asserted Conditions”, create new restriction.
Select someValueFrom
Select hasTopping as the property to be restricted.
Enter MozzarellaTopping as the filler
Press OK button
34. E20: Adding restrictions to
MargheritaPizza
To specify that MargheritaPizza has at least one
TomatoTopping.
Select MargheritaPizza
Go to “Asserted Conditions”, create new restriction.
Select someValueFrom
Select hasTopping as the property to be restricted.
Enter TomatoTopping as the filler
Press OK button
35. E21: Create AmericanPizza
Create AmericanPizza with toppings of
pepperoni, mozzarella and tomato.
Through cloning and modifying the
description of MargheritaPizza.
Select MargheritaPizza
Select create clone
Add additional restriction to AmericanaPizza
Adding PepperoniTopping
Press OK.
36. E22: Create an AmericanHotPizza
and a SohoPizza
An AmericanHotPizza is almost the same as an
AmericanaPizza, but has JalapenoPepperTopping
on it.
A SohoPizza is almost the same as a
MargheritaPizza, but has additional OliveTopping
and ParmezanTopping
37. E23: Make subclasses of NamedPizza
disjoint from each other
Select MargheritaPizza
Press “add all siblings” button on the
“Disjoints widget” to make the pizzas disjoint
from each other.
38. Using a reasoner
Ontology described in OWL-DL can be processed by a reasoner.
Go to owl—preference, to make sure that OWL-DL is selected.
The main services offered by a reasoner is to test whether or not
one class is a subclass of another class.
By performing such tests on all of the classes, it is possible for a
reasoner to compute the inferred ontology class hierarchy.
Another reasoning service is consistency checking – to check
whether or not it is possible for the class to have any instances.
A class is deemed to be inconsistent if it cannot possibly have
any instances.
39. Using Racer
In order to reason over the ontology in
Protege-OWL, a DIG compliant reasoner
should be installed and started.
In this tutorial, we use Racer,
Download at:
http://www.racer-systems.com/products/download/inde
Double click RacerPro to start Racer.
40. Invoking the reasoner
Having started Racer, the ontology can be sent to the reasoner
to automatically compute the classification hierarchy, and also
check the logical consistency of the ontology.
In Protege, the manually constructed class hierarchy is called the
asserted hierarchy. The automatically computed by the
reasoner is called the inferred hierarchy.
Go to OWL – classify taxonomy – to invoke the reasoner
If a class has been reclassified, then the class name will appear
in a blue color in the inferred hierarchy.
Go to OWL – Check consistency – to invoke the reasoner
If a class has been found to be inconsistent, it’s icon will be
circled in red color.
Computing the inferred class hierarchy is also known as
classifying the ontology.
42. E24: Inconsistent classes
In order to demonstrate the use of the reasoner to detect
inconsistencies in the ontology, we will create a class
ProbeInconsistentTopping,
Which is the subclass of CheeseTopping
Select ProbeInconsistentTopping, go to asserted condition to add
named classes, select VegetableTopping and then press OK.
Go to OWL – check consistency
43. E25: Classify the ontology again
To see ProbeInconsistentTopping is
inconsistent.
44. E26: Remove the disjoint statement
Between CheeseTopping and
VegetableTopping to see what happens
Select CheeseTopping
Go to Disjoint part
Select VegetableTopping, right click and “Delete
the selected row”.
Classify taxonomy
The inconsistency no longer exists.
45. E27: Fix the ontology
By making CheeseTopping and
VegetableTopping disjoint from each other.