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://data.semanticweb.org/ns/swc/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. 1 case | 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://xmlns.com/foaf/0.1/Person

Results for P08: Missing annotations. 83 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 neither rdfs:label or rdfs:comment (nor skos:definition) defined:
http://xmlns.com/foaf/0.1/Person
http://www.w3.org/2006/time-entry#CalendarClockDescription
http://www.w3.org/2006/time-entry#Instant
http://www.w3.org/2006/time-entry#ProperIntervalThing
http://www.w3.org/2006/time-entry#DurationDescription
http://www.w3.org/2006/time-entry#InstantThingPair
http://www.w3.org/2006/time-entry#TemporalUnit
http://www.w3.org/2006/time-entry#Event
http://www.w3.org/2006/time-entry#IntervalThing
http://www.w3.org/2006/time-entry#IntervalEvent
http://www.w3.org/2006/timezone#TimeZone
http://www.w3.org/2006/time-entry#TemporalEntity
http://www.w3.org/2006/time-entry#InstantEvent
http://www.w3.org/2006/time-entry#InstantThing
http://www.w3.org/2006/time-entry#Interval
http://www.w3.org/2006/time-entry#CalendarClockInterval
http://www.w3.org/2006/time-entry#TemporalThing
http://www.w3.org/2006/time-entry#ProperInterval
http://purl.org/NET/c4dm/timeline.owl#overlaps
http://purl.org/NET/c4dm/timeline.owl#overlappedBy
http://purl.org/NET/c4dm/timeline.owl#startedBy
http://purl.org/NET/c4dm/timeline.owl#finishedBy
http://purl.org/NET/c4dm/timeline.owl#starts
http://purl.org/NET/c4dm/timeline.owl#before
http://purl.org/NET/c4dm/timeline.owl#during
http://purl.org/NET/c4dm/timeline.owl#meets
http://purl.org/NET/c4dm/timeline.owl#after
http://purl.org/NET/c4dm/timeline.owl#metBy
http://purl.org/NET/c4dm/timeline.owl#equals
http://xmlns.com/foaf/0.1/maker
http://purl.org/NET/c4dm/timeline.owl#finishes
http://purl.org/NET/c4dm/timeline.owl#contains
http://www.w3.org/2006/time-entry#intOverlaps
http://www.w3.org/2006/time-entry#intFinishes
http://www.w3.org/2006/time-entry#startsOrDuring
http://www.w3.org/2006/time-entry#intContains
http://www.w3.org/2006/time-entry#inCalendarClock
http://www.w3.org/2006/time-entry#instantPairDurationDescriptionOf
http://www.w3.org/2006/time-entry#intDuring
http://www.w3.org/2006/time-entry#after
http://www.w3.org/2006/time-entry#unitType
http://www.w3.org/2006/time-entry#intFinishedBy
http://www.w3.org/2006/time-entry#begins
http://www.w3.org/2006/time-entry#before
http://www.w3.org/2006/time-entry#intStarts
http://www.w3.org/2006/time-entry#firstInstantThing
http://www.w3.org/2006/time-entry#intOverlappedBy
http://www.w3.org/2006/time-entry#intMeets
http://www.w3.org/2006/time-entry#inside
http://www.w3.org/2006/time-entry#durationDescriptionOf
http://www.w3.org/2006/time-entry#intAfter
http://www.w3.org/2006/time-entry#calendarClockDescriptionOf
http://www.w3.org/2006/time-entry#secondInstantThing
http://www.w3.org/2006/time-entry#intMetBy
http://www.w3.org/2006/time-entry#nonoverlap
http://www.w3.org/2006/time-entry#intEquals
http://www.w3.org/2006/time-entry#intStartedBy
http://www.w3.org/2006/time-entry#ends
http://www.w3.org/2006/time-entry#intBefore
http://www.w3.org/2006/time-entry#timeZone
http://purl.org/dc/elements/1.1/title
http://purl.org/dc/elements/1.1/description
http://www.w3.org/2006/time-entry#dayOfYearField
http://www.w3.org/2006/time-entry#weeks
http://www.w3.org/2006/time-entry#week
http://www.w3.org/2006/time-entry#hour
http://www.w3.org/2006/time-entry#minute
http://www.w3.org/2006/time-entry#hours
http://www.w3.org/2006/time-entry#months
http://www.w3.org/2006/time-entry#durationDescriptionDataType
http://www.w3.org/2006/time-entry#instantPairDurationDescriptionDataType
http://www.w3.org/2006/time-entry#day
http://www.w3.org/2006/time-entry#minutes
http://www.w3.org/2006/time-entry#dayOfWeekField
http://www.w3.org/2006/time-entry#calendarClockDescriptionDataType
http://www.w3.org/2006/time-entry#seconds
http://www.w3.org/2006/time-entry#month
http://www.w3.org/2006/time-entry#inCalendarClockDataType
http://www.w3.org/2006/time-entry#year
http://www.w3.org/2006/time-entry#days
http://www.w3.org/2006/time-entry#second
http://www.w3.org/2006/time-entry#years

• The following elements have neither rdfs:comment or skos:definition defined:
http://www.w3.org/2006/time#January

Results for P11: Missing domain or range in properties. 49 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://www.w3.org/2006/time-entry#intStartedBy
http://www.w3.org/2006/time-entry#intMetBy
http://www.w3.org/2006/time-entry#intAfter
http://www.w3.org/2006/time-entry#intOverlappedBy
http://www.w3.org/2006/time-entry#intFinishedBy
http://www.w3.org/2006/time-entry#after
http://www.w3.org/2006/time-entry#intContains
http://www.w3.org/2006/time#hasDuration
http://www.w3.org/2006/time#hasTime
http://www.w3.org/2006/time#hasDurationDescription
http://purl.org/NET/c4dm/timeline.owl#contains
http://purl.org/NET/c4dm/timeline.owl#finishes
http://xmlns.com/foaf/0.1/maker
http://purl.org/NET/c4dm/timeline.owl#equals
http://purl.org/NET/c4dm/timeline.owl#metBy
http://purl.org/NET/c4dm/timeline.owl#after
http://purl.org/NET/c4dm/timeline.owl#meets
http://purl.org/NET/c4dm/timeline.owl#during
http://purl.org/NET/c4dm/timeline.owl#before
http://purl.org/NET/c4dm/timeline.owl#starts
http://purl.org/NET/c4dm/timeline.owl#finishedBy
http://purl.org/NET/c4dm/timeline.owl#startedBy
http://purl.org/NET/c4dm/timeline.owl#overlappedBy
http://purl.org/NET/c4dm/timeline.owl#overlaps
http://www.w3.org/2006/time#day
http://www.w3.org/2006/time#year
http://www.w3.org/2006/time#month
http://purl.org/NET/c4dm/timeline.owl#delay
http://purl.org/NET/c4dm/timeline.owl#beginsAtInt
http://purl.org/NET/c4dm/timeline.owl#atReal
http://purl.org/NET/c4dm/timeline.owl#endsAtDuration
http://purl.org/dc/elements/1.1/description
http://purl.org/NET/c4dm/timeline.owl#atDateTime
http://purl.org/NET/c4dm/timeline.owl#atYearMonth
http://purl.org/NET/c4dm/timeline.owl#atInt
http://purl.org/NET/c4dm/timeline.owl#endsAtInt
http://purl.org/NET/c4dm/timeline.owl#at
http://purl.org/NET/c4dm/timeline.owl#atDuration
http://purl.org/NET/c4dm/timeline.owl#durationInt
http://purl.org/NET/c4dm/timeline.owl#start
http://purl.org/NET/c4dm/timeline.owl#endsAtDateTime
http://purl.org/NET/c4dm/timeline.owl#atYear
http://purl.org/NET/c4dm/timeline.owl#end
http://purl.org/NET/c4dm/timeline.owl#durationXSD
http://purl.org/NET/c4dm/timeline.owl#beginsAtDuration
http://purl.org/NET/c4dm/timeline.owl#atDate
http://purl.org/NET/c4dm/timeline.owl#beginsAtDateTime
http://purl.org/NET/c4dm/timeline.owl#duration
http://purl.org/dc/elements/1.1/title

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. 19 cases | Important Important

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

• The following relations could be defined as equivalent:
http://www.w3.org/2006/time#after, http://www.w3.org/2006/time-entry#after
http://www.w3.org/2006/time#timeZone, http://www.w3.org/2006/time-entry#timeZone
http://www.w3.org/2006/time-entry#before, http://www.w3.org/2006/time#before
http://www.w3.org/2006/time#inside, http://www.w3.org/2006/time-entry#inside
http://www.w3.org/2006/time-entry#unitType, http://www.w3.org/2006/time#unitType

• The following attributes could be defined as equivalent:
http://www.w3.org/2006/time-entry#minutes, http://www.w3.org/2006/time#minutes
http://www.w3.org/2006/time-entry#second, http://www.w3.org/2006/time#second
http://www.w3.org/2006/time-entry#hours, http://www.w3.org/2006/time#hours
http://www.w3.org/2006/time#hour, http://www.w3.org/2006/time-entry#hour
http://www.w3.org/2006/time-entry#weeks, http://www.w3.org/2006/time#weeks
http://www.w3.org/2006/time-entry#minute, http://www.w3.org/2006/time#minute
http://www.w3.org/2006/time-entry#months, http://www.w3.org/2006/time#months
http://www.w3.org/2006/time#days, http://www.w3.org/2006/time-entry#days
http://www.w3.org/2006/time#seconds, http://www.w3.org/2006/time-entry#seconds
http://www.w3.org/2006/time-entry#month, http://www.w3.org/2006/time#month
http://www.w3.org/2006/time-entry#year, http://www.w3.org/2006/time#year
http://www.w3.org/2006/time#day, http://www.w3.org/2006/time-entry#day
http://www.w3.org/2006/time#years, http://www.w3.org/2006/time-entry#years
http://www.w3.org/2006/time-entry#week, http://www.w3.org/2006/time#week

Results for P13: Inverse relationships not explicitly declared. 52 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://www.w3.org/2006/time#intervalIn could be inverse of http://www.w3.org/2006/time#intervalDisjoint
http://www.w3.org/2006/time#intervalDisjoint could be inverse of http://www.w3.org/2006/time#intervalEquals
http://www.w3.org/2006/time-entry#startsOrDuring could be inverse of http://www.w3.org/2006/time-entry#nonoverlap
http://www.w3.org/2006/time-entry#nonoverlap could be inverse of http://www.w3.org/2006/time-entry#intEquals

• Sorry, OOPS! has no suggestions for the following relationships without inverse:
http://purl.org/NET/c4dm/timeline.owl#overlaps
http://purl.org/NET/c4dm/timeline.owl#overlappedBy
http://purl.org/NET/c4dm/timeline.owl#startedBy
http://purl.org/NET/c4dm/timeline.owl#finishedBy
http://purl.org/NET/c4dm/timeline.owl#timeline
http://purl.org/NET/c4dm/timeline.owl#starts
http://purl.org/NET/c4dm/timeline.owl#before
http://purl.org/NET/c4dm/timeline.owl#during
http://purl.org/NET/c4dm/timeline.owl#rangeTimeLine
http://purl.org/NET/c4dm/timeline.owl#meets
http://purl.org/NET/c4dm/timeline.owl#after
http://purl.org/NET/c4dm/timeline.owl#metBy
http://purl.org/NET/c4dm/timeline.owl#equals
http://xmlns.com/foaf/0.1/maker
http://purl.org/NET/c4dm/timeline.owl#domainTimeLine
http://purl.org/NET/c4dm/timeline.owl#finishes
http://purl.org/NET/c4dm/timeline.owl#contains
http://www.w3.org/2006/time#timeZone
http://www.w3.org/2006/time#hasDurationDescription
http://www.w3.org/2006/time#inTemporalPosition
http://www.w3.org/2006/time#dayOfWeek
http://www.w3.org/2006/time#hasTime
http://www.w3.org/2006/time#hasDuration
http://www.w3.org/2006/time#hasTRS
http://www.w3.org/2006/time#hasBeginning
http://www.w3.org/2006/time#monthOfYear
http://www.w3.org/2006/time#hasDateTimeDescription
http://www.w3.org/2006/time#inDateTime
http://www.w3.org/2006/time#inTimePosition
http://www.w3.org/2006/time#hasEnd
http://www.w3.org/2006/time#hasTemporalDuration
http://www.w3.org/2006/time#unitType
http://www.w3.org/2006/time#inside
http://www.w3.org/2006/time-entry#inCalendarClock
http://www.w3.org/2006/time-entry#instantPairDurationDescriptionOf
http://www.w3.org/2006/time-entry#unitType
http://www.w3.org/2006/time-entry#begins
http://www.w3.org/2006/time-entry#firstInstantThing
http://www.w3.org/2006/time-entry#inside
http://www.w3.org/2006/time-entry#durationDescriptionOf
http://www.w3.org/2006/time-entry#calendarClockDescriptionOf
http://www.w3.org/2006/time-entry#secondInstantThing
http://www.w3.org/2006/time-entry#ends
http://www.w3.org/2006/time-entry#timeZone

Results for P24: Using recursive definitions. 8 cases | Important Important

An ontology element (a class, an object property or a datatype property) is used in its own definition. Some examples of this would be: (a) the definition of a class as the enumeration of several classes including itself; (b) the appearance of a class within its owl:equivalentClass or rdfs:subClassOf axioms; (c) the appearance of an object property in its rdfs:domain or range rdfs:range definitions; or (d) the appearance of a datatype property in its rdfs:domain definition.

• This pitfall appears in the following elements:
http://www.w3.org/2006/time-entry#Interval
http://www.w3.org/2006/time-entry#InstantThing
http://www.w3.org/2006/time-entry#InstantEvent
http://www.w3.org/2006/time-entry#IntervalEvent
http://www.w3.org/2006/time-entry#IntervalThing
http://www.w3.org/2006/time-entry#Instant
http://www.w3.org/2006/time#Instant
http://www.w3.org/2006/time#Interval

Results for P31: Defining wrong equivalent classes. 2 cases | Critical Critical

Two classes are defined as equivalent, using owl:equivalentClass, when they are not necessarily equivalent.

• The following classes might not be equivalent:
http://www.w3.org/2006/time#ProperInterval, http://purl.org/NET/c4dm/timeline.owl#Interval
http://purl.org/NET/c4dm/timeline.owl#Instant, http://www.w3.org/2006/time#Instant

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 P41: No license declared. ontology* | Important Important

The ontology metadata omits information about the license that applies to the ontology.

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

SUGGESTION: symmetric or transitive object properties. 25 cases

The domain and range axioms are equal for each of the following object properties. Could they be symmetric or transitive?
http://www.w3.org/2006/time#intervalMetBy
http://www.w3.org/2006/time#intervalOverlaps
http://www.w3.org/2006/time#intervalIn
http://www.w3.org/2006/time#intervalDisjoint
http://www.w3.org/2006/time#after
http://www.w3.org/2006/time#intervalStarts
http://www.w3.org/2006/time#intervalContains
http://www.w3.org/2006/time#intervalEquals
http://www.w3.org/2006/time#intervalOverlappedBy
http://www.w3.org/2006/time#intervalStartedBy
http://www.w3.org/2006/time#intervalAfter
http://www.w3.org/2006/time#intervalDuring
http://www.w3.org/2006/time#intervalFinishedBy
http://www.w3.org/2006/time#intervalBefore
http://www.w3.org/2006/time#intervalMeets
http://www.w3.org/2006/time#intervalFinishes
http://www.w3.org/2006/time-entry#intOverlaps
http://www.w3.org/2006/time-entry#intFinishes
http://www.w3.org/2006/time-entry#startsOrDuring
http://www.w3.org/2006/time-entry#intDuring
http://www.w3.org/2006/time-entry#intStarts
http://www.w3.org/2006/time-entry#intMeets
http://www.w3.org/2006/time-entry#nonoverlap
http://www.w3.org/2006/time-entry#intEquals
http://www.w3.org/2006/time-entry#intBefore


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

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