scanning


OOPS! is scanning...

OOPS! (OntOlogy Pitfall Scanner!) helps you to detect some of the most common pitfalls appearing when developing ontologies.

To try it, enter a URI or paste an OWL document into the text field above. A list of pitfalls and the elements of your ontology where they appear will be displayed.

Scanner by URI:

Example: http://oops.linkeddata.es/example/swc_2009-05-09.rdf


Scanner by direct input:

Uncheck this checkbox if you don't want us to keep a copy of your ontology.

Evaluation results

It is obvious that not all the pitfalls are equally important; their impact in the ontology will depend on multiple factors. For this reason, each pitfall has an importance level attached indicating how important it is. We have identified three levels:

  • Critical Critical : It is crucial to correct the pitfall. Otherwise, it could affect the ontology consistency, reasoning, applicability, etc.
  • Important Important : Though not critical for ontology function, it is important to correct this type of pitfall.
  • Minor Minor : It is not really a problem, but by correcting it we will make the ontology nicer.

Results for P04: Creating unconnected ontology elements. 3 cases | Minor Minor

Ontology elements (classes, object properties and datatype properties) are created isolated, with no relation to the rest of the ontology.

• This pitfall appears in the following elements:
http://elite.polito.it/ontologies/eupont.owl#RuleAxiom
http://xmlns.com/foaf/0.1/Project
http://xmlns.com/foaf/0.1/LabelProperty

Results for P08: Missing annotations. 4 cases | Minor Minor

This pitfall consists in creating an ontology element and failing to provide human readable annotations attached to it. Consequently, ontology elements lack annotation properties that label them (e.g. rdfs:label, lemon:LexicalEntry, skos:prefLabel or skos:altLabel) or that define them (e.g. rdfs:comment or dc:description). This pitfall is related to the guidelines provided in [5].

• The following elements have no rdfs:label defined:
http://elite.polito.it/ontologies/eupont.owl#value
http://elite.polito.it/ontologies/eupont.owl#type
http://elite.polito.it/ontologies/eupont.owl#detail
http://elite.polito.it/ontologies/eupont.owl#description

Results for P11: Missing domain or range in properties. 13 cases | Important Important

Object and/or datatype properties without domain or range (or none of them) are included in the ontology.

• This pitfall appears in the following elements:
http://xmlns.com/foaf/0.1/phone
http://elite.polito.it/ontologies/eupont.owl#hasRegisteredEntity
http://elite.polito.it/ontologies/eupont.owl#location
http://elite.polito.it/ontologies/eupont.owl#isOfChannel
http://elite.polito.it/ontologies/eupont.owl#channelOffer
http://elite.polito.it/ontologies/eupont.owl#nominalDetail
http://xmlns.com/foaf/0.1/givenName
http://xmlns.com/foaf/0.1/title
http://xmlns.com/foaf/0.1/nick
http://xmlns.com/foaf/0.1/sha1
http://xmlns.com/foaf/0.1/givenname
http://xmlns.com/foaf/0.1/dnaChecksum
http://elite.polito.it/ontologies/eupont.owl#value

Tip: Solving this pitfall may lead to new results for other pitfalls and suggestions. We encourage you to solve all cases when needed and see what else you can get from OOPS!

Results for P12: Equivalent properties not explicitly declared. 2 cases | Important Important

The ontology lacks information about equivalent properties (owl:equivalentProperty) in the cases of duplicated relationships and/or attributes.

• The following attributes could be defined as equivalent:
http://xmlns.com/foaf/0.1/givenname, http://xmlns.com/foaf/0.1/givenName
http://xmlns.com/foaf/0.1/family_name, http://xmlns.com/foaf/0.1/familyName

Results for P13: Inverse relationships not explicitly declared. 50 cases | Minor Minor

This pitfall appears when any relationship (except for those that are defined as symmetric properties using owl:SymmetricProperty) does not have an inverse relationship (owl:inverseOf) defined within the ontology.

• OOPS! has the following suggestions for the relationships without inverse:
http://xmlns.com/foaf/0.1/theme could be inverse of http://xmlns.com/foaf/0.1/fundedBy
http://xmlns.com/foaf/0.1/fundedBy could be inverse of http://xmlns.com/foaf/0.1/logo

• Sorry, OOPS! has no suggestions for the following relationships without inverse:
http://elite.polito.it/ontologies/eupont.owl#nominalDetail
http://elite.polito.it/ontologies/eupont.owl#commandAllowTo
http://elite.polito.it/ontologies/eupont.owl#hasNotification
http://elite.polito.it/ontologies/eupont.owl#hasCommand
http://elite.polito.it/ontologies/eupont.owl#hasCategory
http://elite.polito.it/ontologies/eupont.owl#nominalAction
http://elite.polito.it/ontologies/eupont.owl#offerAction
http://elite.polito.it/ontologies/eupont.owl#location
http://elite.polito.it/ontologies/eupont.owl#hasAction
http://elite.polito.it/ontologies/eupont.owl#canControl
http://elite.polito.it/ontologies/eupont.owl#nominal
http://elite.polito.it/ontologies/eupont.owl#hasTrigger
http://elite.polito.it/ontologies/eupont.owl#which
http://elite.polito.it/ontologies/eupont.owl#offerDetail
http://elite.polito.it/ontologies/eupont.owl#hasService
http://elite.polito.it/ontologies/eupont.owl#offerTrigger
http://elite.polito.it/ontologies/eupont.owl#who
http://elite.polito.it/ontologies/eupont.owl#nominalTrigger
http://elite.polito.it/ontologies/eupont.owl#where
http://elite.polito.it/ontologies/eupont.owl#hasDetail
http://elite.polito.it/ontologies/eupont.owl#allowTo
http://elite.polito.it/ontologies/eupont.owl#triggers
http://elite.polito.it/ontologies/eupont.owl#notificationAllowTo
http://xmlns.com/foaf/0.1/accountServiceHomepage
http://xmlns.com/foaf/0.1/openid
http://xmlns.com/foaf/0.1/account
http://xmlns.com/foaf/0.1/thumbnail
http://xmlns.com/foaf/0.1/member
http://xmlns.com/foaf/0.1/img
http://xmlns.com/foaf/0.1/tipjar
http://xmlns.com/foaf/0.1/workplaceHomepage
http://xmlns.com/foaf/0.1/knows
http://xmlns.com/foaf/0.1/phone
http://xmlns.com/foaf/0.1/topic_interest
http://xmlns.com/foaf/0.1/mbox
http://xmlns.com/foaf/0.1/pastProject
http://xmlns.com/foaf/0.1/workInfoHomepage
http://xmlns.com/foaf/0.1/focus
http://xmlns.com/foaf/0.1/publications
http://xmlns.com/foaf/0.1/holdsAccount
http://xmlns.com/foaf/0.1/based_near
http://xmlns.com/foaf/0.1/interest
http://xmlns.com/foaf/0.1/weblog
http://xmlns.com/foaf/0.1/schoolHomepage
http://xmlns.com/foaf/0.1/homepage
http://xmlns.com/foaf/0.1/currentProject

Results for P22: Using different naming conventions in the ontology. ontology* | Minor Minor

The ontology elements are not named following the same convention (for example CamelCase or use of delimiters as "-" or "_") . Some notions about naming conventions are provided in [2].

*This pitfall applies to the ontology in general instead of specific elements.

Results for P30: Equivalent classes not explicitly declared. 1 case | Important Important

This pitfall consists in missing the definition of equivalent classes (owl:equivalentClass) in case of duplicated concepts. When an ontology reuses terms from other ontologies, classes that have the same meaning should be defined as equivalent in order to benefit the interoperability between both ontologies.

• The following classes might be equivalent:
http://elite.polito.it/ontologies/eupont.owl#Family, http://elite.polito.it/ontologies/eupont.owl#Category

Results for P32: Several classes with the same label. 4 cases | Minor Minor

Two or more classes have the same content for natural language annotations for naming, for example the rdfs:label annotation. This pitfall might involve lack of accuracy when defining terms.

• The following classes contains the same label, maybe they should be replaced by one class with several labels or might be equivalent classes:
http://elite.polito.it/ontologies/eupont.owl#SecuritySystemEnabledTrigger, http://elite.polito.it/ontologies/eupont.owl#StartedListeningMusicTrigger
http://elite.polito.it/ontologies/eupont.owl#DisplaySerivce, http://elite.polito.it/ontologies/eupont.owl#DisplyService
http://purl.org/dc/terms/Agent, http://elite.polito.it/ontologies/eupont.owl#Agent
http://elite.polito.it/ontologies/eupont.owl#NotificationTool, http://elite.polito.it/ontologies/eupont.owl#Notification

Results for P34: Untyped class. 3 cases | Important Important

An ontology element is used as a class without having been explicitly declared as such using the primitives owl:Class or rdfs:Class. This pitfall is related with the common problems listed in [8].

• This pitfall appears in the following elements:
http://www.w3.org/2004/02/skos/core#Concept
http://purl.org/dc/terms/Agent
http://www.w3.org/2000/10/swap/pim/contact#Person

Results for P35: Untyped property. 1 case | Important Important

An ontology element is used as a property without having been explicitly declared as such using the primitives rdf:Property, owl:ObjectProperty or owl:DatatypeProperty. This pitfall is related with the common problems listed in [8].

• This pitfall appears in the following elements:
http://purl.org/dc/terms/creator

Results for P36: URI contains file extension. ontology* | Minor Minor

This pitfall occurs if file extensions such as ".owl", ".rdf", ".ttl", ".n3" and ".rdfxml" are included in an ontology URI. This pitfall is related with the recommendations provided in [9].

*This pitfall applies to the ontology in general instead of specific elements.

Results for P40: Namespace hijacking. 1 case | Critical Critical

It refers to reusing or referring to terms from another namespace that are not defined in such namespace. This is an undesirable situation as no information can be retrieved when looking up those undefined terms. This pitfall is related to the Linked Data publishing guidelines provided in [11]: "Only define new terms in a namespace that you control" and to the guidelines provided in [5].

• This pitfall appears in the following elements:
http://creativecommons.org/ns#license

• For detecting this pitfall we rely on TripleChecker. See more results at TripleChecker website. Up to now this pitfall is only available for the "Scanner by URI" option.

SUGGESTION: symmetric or transitive object properties. 6 cases

The domain and range axioms are equal for each of the following object properties. Could they be symmetric or transitive?
http://xmlns.com/foaf/0.1/thumbnail
http://xmlns.com/foaf/0.1/theme
http://xmlns.com/foaf/0.1/fundedBy
http://xmlns.com/foaf/0.1/knows
http://xmlns.com/foaf/0.1/logo
http://xmlns.com/foaf/0.1/based_near


According to the highest importance level of pitfall found in your ontology the conformace bagde suggested is "Critical pitfalls" (see below). You can use the following HTML code to insert the badge within your ontology documentation:


Critical pitfalls were found
<p>
<a href="http://oops.linkeddata.es"><img
	src="http://oops.linkeddata.es/resource/image/oops_critical.png"
	alt="Critical pitfalls were found" height="69.6" width="100" /></a>
</p>


References:

  • [1] Aguado-De Cea, G., Montiel-Ponsoda, E., Poveda-Villalón, M., and Giraldo-Pasmin, O.X. (2015). Lexicalizing Ontologies: The issues behind the labels. In Multimodal communication in the 21st century: Professional and academic challenges. 33rd Conference of the Spanish Association of Applied Linguistics (AESLA), XXXIII AESLA.
  • [2] Noy, N. F., McGuinness, D. L., et al. (2001). Ontology development 101: A guide to creating your first ontology.
  • [3] Gómez-Pérez, A. (1999). Evaluation of Taxonomic Knowledge in Ontologies and Knowledge Bases. Proceedings of the Banff Knowledge Acquisition for Knowledge-Based Systems Workshop. Alberta, Canada.
  • [4] Montiel-Ponsoda, E., Vila Suero, D., Villazón-Terrazas, B., Dunsire, G., Escolano Rodríguez, E., Gómez-Pérez, A. (2011). Style guidelines for naming and labeling ontologies in the multilingual web.
  • [5] Vrandecic, D. (2010). Ontology Evaluation. PhD thesis.
  • [6] Gómez-Pérez, A. (2004). Ontology evaluation. In Handbook on ontologies, pages 251-273. Springer.
  • [7] Rector, A., Drummond, N., Horridge, M., Rogers, J., Knublauch, H., Stevens, R., Wang, H., and Wroe, C. (2004). Owl pizzas: Practical experience of teaching owl-dl: Common errors & common patterns. In Engineering Knowledge in the Age of the Semantic Web, pages 63-81. Springer.
  • [8] Hogan, A., Harth, A., Passant, A., Decker, S., and Polleres, A. (2010). Weaving the pedantic web. In Proceedings of the WWW2010 Workshop on Linked Data on the Web, LDOW 2010, Raleigh, USA, April 27, 2010.
  • [9] Archer, P., Goedertier, S., and Loutas, N. (2012). D7. 1.3-study on persistent URIs, with identification of best practices and recommendations on the topic for the Mss and the EC. PwC EU Services.
  • [10] Bernes-Lee Tim. (2006). “Linked Data - Design issues”. http://www.w3.org/DesignIssues/LinkedData.html
  • [11] Heath, T. and Bizer, C. (2011). Linked Data: Evolving the Web into a Global Data Space. Morgan & Claypool, 1st edition.
  • [12] Vatant, B. (2012). Is your linked data vocabulary 5-star?. http://bvatant.blogspot.fr/2012/02/is-your-linked-data-vocabulary-5-star_9588.html

How to cite OOPS!

Poveda-Villalón, María, Asunción Gómez-Pérez, and Mari Carmen Suárez-Figueroa. "OOPS!(Ontology Pitfall Scanner!): An on-line tool for ontology evaluation." International Journal on Semantic Web and Information Systems (IJSWIS) 10.2 (2014): 7-34.


BibTex:


@article{poveda2014oops,
 title={{OOPS! (OntOlogy Pitfall Scanner!): An On-line Tool for Ontology Evaluation}},
 author={Poveda-Villal{\'o}n, Mar{\'i}a and G{\'o}mez-P{\'e}rez, Asunci{\'o}n and Su{\'a}rez-Figueroa, Mari Carmen},
 journal={International Journal on Semantic Web and Information Systems (IJSWIS)},
 volume={10},
 number={2},
 pages={7--34},
 year={2014},
 publisher={IGI Global}
}

Please, help us making OOPS! better. Feedback is more than welcome!
In addition, you can also suggest new pitfalls so that they can be detected in future evaluations.

Want to help?

Documentation:

Related papers:

Web services:

Developed by:

OEG logo