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 P02: Creating synonyms as classes. 6 cases | Minor Minor

Several classes whose identifiers are synonyms are created and defined as equivalent (owl:equivalentClass) in the same namespace. This pitfall is related to the guidelines presented in [2], which explain that synonyms for the same concept do not represent different classes.

• This pitfall appears in the following elements:
http://purl.org/goodrelations/v1#ActualProductOrServiceInstance
http://purl.org/goodrelations/v1#LocationOfSalesOrServiceProvisioning
http://purl.org/goodrelations/v1#Location
http://purl.org/goodrelations/v1#SomeItems
http://purl.org/goodrelations/v1#Individual
http://purl.org/goodrelations/v1#ProductOrServicesSomeInstancesPlaceholder

Results for P04: Creating unconnected ontology elements. 2 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://purl.org/goodrelations/v1#N-Ary-Relations
http://xmlns.com/foaf/0.1/Document

Results for P07: Merging different concepts in the same class. 6 cases | Minor Minor

A class whose name refers to two or more different concepts is created.

• This pitfall appears in the following elements:
http://purl.org/goodrelations/v1#ActualProductOrServiceInstance
http://purl.org/goodrelations/v1#ProductOrService
http://purl.org/goodrelations/v1#LocationOfSalesOrServiceProvisioning
http://purl.org/goodrelations/v1#TypeAndQuantityNode
http://purl.org/goodrelations/v1#ProductOrServiceModel
http://purl.org/goodrelations/v1#ProductOrServicesSomeInstancesPlaceholder

Results for P08: Missing annotations. 14 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/Document
http://schema.org/Place
http://schema.org/Product
http://schema.org/Offer
http://schema.org/Person
http://schema.org/Organization
http://schema.org/geo
http://xmlns.com/foaf/0.1/depiction
http://xmlns.com/foaf/0.1/logo
http://schema.org/image
http://schema.org/manufacturer
http://schema.org/description
http://schema.org/productID
http://schema.org/name

Results for P11: Missing domain or range in properties. 8 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://schema.org/manufacturer
http://schema.org/image
http://xmlns.com/foaf/0.1/logo
http://xmlns.com/foaf/0.1/depiction
http://schema.org/geo
http://schema.org/name
http://schema.org/productID
http://schema.org/description

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://purl.org/goodrelations/v1#validThrough, http://purl.org/acco/ns#validThrough
http://purl.org/goodrelations/v1#validFrom, http://purl.org/acco/ns#validFrom

Results for P13: Inverse relationships not explicitly declared. 60 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.

• This pitfall appears in the following elements:
http://purl.org/acco/ns#feature
http://purl.org/acco/ns#numberOfRooms
http://purl.org/acco/ns#occupancyAdults
http://purl.org/acco/ns#partOf
http://purl.org/acco/ns#occupancy
http://purl.org/acco/ns#occupancyMinors
http://purl.org/acco/ns#optionalFeature
http://schema.org/geo
http://purl.org/acco/ns#referenceQuantity
http://purl.org/acco/ns#permittedUsage
http://purl.org/acco/ns#size
http://xmlns.com/foaf/0.1/depiction
http://purl.org/acco/ns#bed
http://xmlns.com/foaf/0.1/logo
http://purl.org/acco/ns#availabilityTimes
http://purl.org/acco/ns#includedFeature
http://purl.org/acco/ns#priceComponent
http://purl.org/acco/ns#typeOfBed
http://schema.org/image
http://purl.org/goodrelations/v1#qualitativeProductOrServiceProperty
http://purl.org/goodrelations/v1#hasWarrantyPromise
http://purl.org/goodrelations/v1#isSimilarTo
http://purl.org/goodrelations/v1#offers
http://purl.org/goodrelations/v1#height
http://purl.org/goodrelations/v1#depth
http://purl.org/goodrelations/v1#typeOfGood
http://purl.org/goodrelations/v1#deliveryLeadTime
http://purl.org/goodrelations/v1#hasBrand
http://schema.org/manufacturer
http://purl.org/goodrelations/v1#availableDeliveryMethods
http://purl.org/goodrelations/v1#advanceBookingRequirement
http://purl.org/goodrelations/v1#eligibleTransactionVolume
http://purl.org/goodrelations/v1#isVariantOf
http://purl.org/goodrelations/v1#eligibleCustomerTypes
http://purl.org/goodrelations/v1#owns
http://purl.org/goodrelations/v1#hasWarrantyScope
http://purl.org/goodrelations/v1#quantitativeProductOrServiceProperty
http://purl.org/goodrelations/v1#hasBusinessFunction
http://purl.org/goodrelations/v1#seeks
http://purl.org/goodrelations/v1#includes
http://purl.org/goodrelations/v1#acceptedPaymentMethods
http://purl.org/goodrelations/v1#hasMakeAndModel
http://purl.org/goodrelations/v1#availableAtOrFrom
http://purl.org/goodrelations/v1#hasPriceSpecification
http://purl.org/goodrelations/v1#appliesToPaymentMethod
http://purl.org/goodrelations/v1#appliesToDeliveryMethod
http://purl.org/goodrelations/v1#isConsumableFor
http://purl.org/goodrelations/v1#isAccessoryOrSparePartFor
http://purl.org/goodrelations/v1#addOn
http://purl.org/goodrelations/v1#hasInventoryLevel
http://purl.org/goodrelations/v1#hasManufacturer
http://purl.org/goodrelations/v1#valueReference
http://purl.org/goodrelations/v1#hasOpeningHoursSpecification
http://purl.org/goodrelations/v1#hasEligibleQuantity
http://purl.org/goodrelations/v1#weight
http://purl.org/goodrelations/v1#width
http://purl.org/goodrelations/v1#hasPOS
http://purl.org/goodrelations/v1#includesObject
http://purl.org/goodrelations/v1#hasOpeningHoursDayOfWeek
http://purl.org/goodrelations/v1#eligibleDuration

Results for P19: Defining multiple domains or ranges in properties. 2 cases | Critical Critical

The domain or range (or both) of a property (relationships and attributes) is defined by stating more than one rdfs:domain or rdfs:range statements. In OWL multiple rdfs:domain or rdfs:range axioms are allowed, but they are interpreted as conjunction, being, therefore, equivalent to the construct owl:intersectionOf. This pitfall is related to the common error that appears when defining domains and ranges described in [7].

• This pitfall appears in the following elements:
http://purl.org/goodrelations/v1#description
http://purl.org/goodrelations/v1#name

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 P24: Using recursive definitions. 2 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://purl.org/goodrelations/v1#equal
http://purl.org/goodrelations/v1#nonEqual

Results for P25: Defining a relationship as inverse to itself. 2 cases | Important Important

A relationship is defined as inverse of itself. In this case, this relationship could have been defined as owl:SymmetricProperty instead.

• This pitfall appears in the following elements:
http://purl.org/goodrelations/v1#equal
http://purl.org/goodrelations/v1#nonEqual

Results for P26: Defining inverse relationships for a symmetric one. 2 cases | Important Important

A symmetric object property (owl:SymmetricProperty) is defined as inverse of another object property (using owl:inverseOf).

• This pitfall appears in the following elements:
http://purl.org/goodrelations/v1#nonEqual
http://purl.org/goodrelations/v1#equal

Results for P30: Equivalent classes not explicitly declared. 2 cases | 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://purl.org/goodrelations/v1#Offering, http://schema.org/Offer
http://schema.org/Person, http://purl.org/goodrelations/v1#Individual

Results for P31: Defining wrong equivalent classes. 4 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://schema.org/Place, http://purl.org/goodrelations/v1#Location
http://purl.org/goodrelations/v1#ProductOrService, http://schema.org/Product
http://purl.org/goodrelations/v1#ActualProductOrServiceInstance, http://purl.org/goodrelations/v1#Individual
http://purl.org/goodrelations/v1#LocationOfSalesOrServiceProvisioning, http://purl.org/goodrelations/v1#Location

SUGGESTION: symmetric or transitive object properties. 5 cases

The domain and range axioms are equal for each of the following object properties. Could they be symmetric or transitive?
http://purl.org/acco/ns#partOf
http://purl.org/goodrelations/v1#hasPrevious
http://purl.org/goodrelations/v1#isVariantOf
http://purl.org/goodrelations/v1#valueReference
http://purl.org/goodrelations/v1#hasNext


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