Wikidata:WikiProject Ships/Maintenance

This page provides various lists to ease maintenance and improvement of ship-related items.

Lists of ship-related objects edit

Note: watercraft (Q1229765) is a superclass of ship (Q11446), boat (Q35872), and submarine (Q2811). Similarly for watercraft type (Q16335899) and watercraft class (Q18758641). watercraft type (Q16335899) is a superclass of watercraft class (Q18758641).

Watercraft edit

SELECT DISTINCT ?ship ?shipLabel
WHERE
{
  ?ship wdt:P31/wdt:P279* wd:Q1229765 .
  SERVICE wikibase:label { 
    bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".
  }
}
LIMIT 500
List watercraft (informative)

Watercraft types edit

Any instance of watercraft type (Q16335899) including instances of its subclasses, except watercraft classes.

SELECT DISTINCT ?shipType ?shipTypeLabel
WHERE
{
  ?shipType wdt:P31/wdt:P279* wd:Q16335899 .
  FILTER NOT EXISTS { ?shipType wdt:P31/wdt:P279* wd:Q18758641 . }
  SERVICE wikibase:label { 
    bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".
  }
}
LIMIT 500
List watercraft types, excluding watercraft classes (informative)

Watercraft classes edit

Any instance of watercraft class (Q18758641) including instances of its subclasses.

SELECT DISTINCT ?shipClass ?shipClassLabel
WHERE
{
  ?shipClass wdt:P31/wdt:P279* wd:Q18758641 .
  SERVICE wikibase:label { 
    bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".
  }
}
LIMIT 500
List watercraft classes (informative)

Navies edit

Any instance of navy (Q4508) including instances of its subclasses.

SELECT DISTINCT ?navy ?navyLabel
WHERE
{
  ?navy wdt:P31/wdt:P279* wd:Q4508 .
  SERVICE wikibase:label { 
    bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".
  }
}
LIMIT 500
List navies (informative)

Fleets edit

Any instance of fleet (Q189524) including instances of its subclasses.

SELECT DISTINCT ?fleet ?fleetLabel
WHERE
{
  ?fleet wdt:P31/wdt:P279* wd:Q189524 .
  SERVICE wikibase:label { 
    bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".
  }
}
LIMIT 500
List fleets (informative)

Candidates for specializing ship type edit

lang = en
categ = Schooners en:Category:Schooners
type = 204577 - schooner (Q204577)

Query that:

http://tools.wmflabs.org/autolist/index.php?language=en&project=wikipedia&category=Schooners&depth=2&wdq=%28claim[31%3A204577]%20and%20noclaim[31%3A1229765]%20and%20noclaim[31%3A11446]%20and%20noclaim[31%3A2811]%20and%20noclaim[31%3A1229765]%29%20or%20claim[31%3A4167410]%20or%20claim[31%3A13406463]%20or%20claim[279]%20or%20tree[204577][][279]&statementlist=-P31%3AQ2811%0A-P31%3AQ1229765%0A-P31%3AQ11446%0A&run=Run&mode_manual=or&mode_cat=or&mode_wdq=not&mode_find=or&chunk_size=10000

Classes related to watercraft that require maintenance edit

Queries below can be used to list items that require maintenance; you may use these SPARQL request in PetScan (Other sources tab, with Use wiki=Wikidata) to fix these defective items.

Watercraft types incorrectly placed in ontology edit

  • Watercraft types that are also watercraft
Priority: extreme - this is a breakdown of the ontology
SELECT DISTINCT ?watercraft (REPLACE(STR(?watercraft),".*Q","Q") AS ?watercraftQid) ?watercraftLabel ?watercraftTypeLabel
WHERE
{
  # Plain watercraft
  ?watercraft wdt:P31/wdt:P279* wd:Q1229765 .
  # Also some watercraft type
  ?watercraft wdt:P31 ?watercraftType .
  ?watercraftType wdt:P279* wd:Q16335899 .
  SERVICE wikibase:label { 
    bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".
  }
}
LIMIT 50
Watercraft types that are also watercraft (extreme)

Watercraft, ship, submarine, and boat types not subclasses of watercraft, ship, submarine, or boat (respectively) edit

  • Watercraft types that are not subclasses of watercraft
Priority: high
SELECT DISTINCT ?watercraftType (REPLACE(STR(?watercraftType),".*Q","Q") AS ?watercraftTypeQ) ?watercraftTypeLabel
WHERE
{
  ?watercraftType wdt:P31/wdt:P279* wd:Q16335899 .
  FILTER NOT EXISTS { ?watercraftType wdt:P279* wd:Q1229765 }
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Watercraft types that are not subclasses of watercraft (high)
  • Ship types that are not subclasses of ship
Priority: high
SELECT DISTINCT ?shipType (REPLACE(STR(?shipType),".*Q","Q") AS ?shipTypeQ) ?shipTypeLabel
WHERE
{
  ?shipType wdt:P31/wdt:P279* wd:Q2235308 .
  FILTER NOT EXISTS { ?shipType wdt:P279* wd:Q11446 }
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Ship types that are not subclasses of ship (high)
  • Submarine types that are not subclasses of submarine
Priority: high
SELECT DISTINCT ?submarineType (REPLACE(STR(?submarineType),".*Q","Q") AS ?submarineTypeQ) ?submarineTypeLabel
WHERE
{
  ?submarineType wdt:P31/wdt:P279* wd:Q121289744 .
  FILTER NOT EXISTS { ?submarineType wdt:P279* wd:Q2811 }
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Submarine types that are not subclasses of submarine (high)
  • Boat types that are not subclasses of boat
Priority: high
SELECT DISTINCT ?boatType (REPLACE(STR(?boatType),".*Q","Q") AS ?boatTypeQ) ?boatTypeLabel
WHERE
{
  ?boatType wdt:P31/wdt:P279* wd:Q16103215 .
  FILTER NOT EXISTS { ?boatType wdt:P279* wd:Q35872 }
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Boat types that are not subclasses of boat (high)

Watercraft, ship, submarine, and boat types subclasses of inappropriate kind of watercraft edit

  • Watercraft types that are subclasses of ship or submarine or boat
Priority: high
SELECT DISTINCT ?watercraftType (REPLACE(STR(?watercraftType),".*Q","Q") AS ?watercraftTypeQ) ?watercraftTypeLabel
WHERE
{
  ?watercraftType wdt:P31/wdt:P279* wd:Q16335899 .
  FILTER NOT EXISTS { ?watercraftType wdt:P31/wdt:P279* wd:Q2235308 . }
  FILTER NOT EXISTS { ?watercraftType wdt:P31/wdt:P279* wd:Q16103215 . }
  FILTER NOT EXISTS { ?watercraftType wdt:P31/wdt:P279* wd:Q121289744 . }
  FILTER EXISTS { { ?watercraftType wdt:P279+ wd:Q11446 . } UNION { ?watercraftType wdt:P279+ wd:Q2811 . } UNION { ?watercraftType wdt:P279+ wd:Q35872 . } }
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Watercraft (but not ship or submarine or boat) types that are subclasses of ship or submarine or boat (high)
  • Ship types that are subclasses of submarine or boat
Priority: very high
SELECT DISTINCT ?shipType (REPLACE(STR(?shipType),".*Q","Q") AS ?shipTypeQ) ?shipTypeLabel
WHERE
{
  ?shipType wdt:P31/wdt:P279* wd:Q2235308 .
  FILTER EXISTS { { ?shipType wdt:P279* wd:Q2811 . } UNION { ?shipType wdt:P279* wd:Q35872 . } }
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Ship types that are also subclasses of submarine or boat (very high)
  • Submarine types that are subclasses of ship or boat
Priority: very high
SELECT DISTINCT ?submarineType (REPLACE(STR(?submarineType),".*Q","Q") AS ?submarineTypeQ) ?submarineTypeLabel
WHERE
{
  ?submarineType wdt:P31/wdt:P279* wd:Q121289744 .
  FILTER EXISTS { { ?submarineType wdt:P279* wd:Q11446 . } UNION { ?submarineType wdt:P279* wd:Q35872 . } }
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Submarine types that are also subclasses of ship or boat (very high)
  • Boat types that are subclasses of ship or submarine
Priority: very high
SELECT DISTINCT ?boatType (REPLACE(STR(?boatType),".*Q","Q") AS ?boatTypeQ) ?boatTypeLabel
WHERE
{
  ?boatType wdt:P31/wdt:P279* wd:Q16103215 .
  FILTER EXISTS { { ?boatType wdt:P279* wd:Q11446 . } UNION { ?boatType wdt:P279* wd:Q2811 . } }
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Boat types that are also subclasses of ship or submarine (very high)

Subclasses of watercraft that might be watercraft types or watercraft classes edit

  • Subclasses of watercraft that are not watercraft types
Priority: low - this is just possible lack of information
SELECT DISTINCT ?thing (REPLACE(STR(?thing),".*Q","Q") AS ?thingQ) ?thingLabel
WHERE
{
  ?thing wdt:P279* wd:Q1229765 .
  FILTER NOT EXISTS { ?thing wdt:P31/wdt:P279* wd:Q16335899 . }
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Subclasses of watercraft that are not watercraft types (low)
  • Subclasses of ship that are not ship types (low)
Priority: low - this is just possible lack of information
SELECT DISTINCT ?thing (REPLACE(STR(?thing),".*Q","Q") AS ?thingQ) ?thingLabel
WHERE
{
  ?thing wdt:P279* wd:Q11446 .
  FILTER NOT EXISTS { ?thing wdt:P31/wdt:P279* wd:Q2235308 . } 
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Subclasses of ship that are not ship types (low)
  • Subclasses of submarine that are neither submarine types nor submarine classes (low)
Priority: low - this is just possible lack of information
SELECT DISTINCT ?thing (REPLACE(STR(?thing),".*Q","Q") AS ?thingQ) ?thingLabel
WHERE
{
  ?thing wdt:P279* wd:Q2811 .
  FILTER NOT EXISTS { ?thing wdt:P31/wdt:P279* wd:Q121289744 . } 
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Subclasses of submarine that are not submarine types (low)
  • Subclasses of boat that are neither boat types nor boat classes (low)
Priority: low - this is just possible lack of information
SELECT DISTINCT ?thing (REPLACE(STR(?thing),".*Q","Q") AS ?thingQ) ?thingLabel
WHERE
{
  ?thing wdt:P279* wd:Q35872 .
  FILTER NOT EXISTS { ?thing wdt:P31/wdt:P279* wd:Q16103215 . } 
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Subclasses of boat that are not boat types (low)

-classes not correctly linked to -types or other -classes edit

Ships edit

Priority: low
SELECT DISTINCT ?shipClass(REPLACE(STR(?shipClass),".*Q","Q") AS ?shipClassQ) ?shipClassLabel 
WHERE
{
  ?shipClass wdt:P279 wd:Q11446 .
  ?shipClass wdt:P31/wdt:P279* wd:Q559026 .
  MINUS { ?shipClass wdt:P279 ?super . FILTER ( ?super != wd:Q11446 ) ?super wdt:P279+ wd:Q1229765 . }
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Ship classes that are direct subclasses of ship (low)
Priority: medium
SELECT DISTINCT ?shipClass(REPLACE(STR(?shipClass),".*Q","Q") AS ?shipClassQ) ?shipClassLabel
WHERE
{
  ?shipClass wdt:P31/wdt:P279* wd:Q559026 .
  FILTER NOT EXISTS {?shipClass wdt:P279/wdt:P31/wdt:P279* wd:Q2235308 .}
  FILTER NOT EXISTS {?shipClass wdt:P279/wdt:P31/wdt:P279* wd:Q559026 .}
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Ship classes that are not subclasses of a ship class or a ship type (medium)
Priority: low - this is most likely redundant information
SELECT DISTINCT ?shipClass(REPLACE(STR(?shipClass),".*Q","Q") AS ?shipClassQ) ?shipClassLabel ?shipTypeSuperLabel ?shipClassSuperLabel
WHERE
{
  ?shipClass wdt:P31/wdt:P279* wd:Q559026 .
  ?shipClass wdt:P279 ?shipTypeSuper .
  ?shipTypeSuper wdt:P31/wdt:P279* wd:Q2235308 .
  FILTER NOT EXISTS { ?shipTypeSuper wdt:P31/wdt:P279* wd:Q559026 . }
  ?shipClass wdt:P279 ?shipClassSuper .
  ?shipClassSuper wdt:P31/wdt:P279* wd:Q559026 .
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Ship classes that are subclasses of both a ship class and a ship type (low)

Submarines edit

Priority: very low - there are not many submarine types
SELECT DISTINCT ?submarineClass(REPLACE(STR(?submarineClass),".*Q","Q") AS ?submarineClassQ) ?submarineClassLabel
WHERE
{
  ?submarineClass wdt:P31/wdt:P279* wd:Q1428357 .
  ?submarineClass wdt:P279 wd:Q2811 .
  MINUS { ?submarineClass wdt:P279 ?super . FILTER ( ?super != wd:Q2811 ) ?super wdt:P279+ wd:Q1229765 . }
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Submarine classes that are direct subclasses of submarine (very low)
Priority: medium
SELECT DISTINCT ?submarineClass(REPLACE(STR(?submarineClass),".*Q","Q") AS ?submarineClassQ) ?submarineClassLabel
WHERE
{
  ?submarineClass wdt:P31/wdt:P279* wd:Q1428357 .
  FILTER NOT EXISTS {?submarineClass wdt:P279/wdt:P31/wdt:P279* wd:Q121289744 .}
  FILTER NOT EXISTS {?submarineClass wdt:P279/wdt:P31/wdt:P279* wd:Q1428357 .}
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Submarine classes that are not subclasses of a submarine class or a submarine type (medium)
Priority: low - this is most likely redundant information
SELECT DISTINCT ?submarineClass(REPLACE(STR(?submarineClass),".*Q","Q") AS ?submarineClassQ) ?submarineClassLabel ?submarineTypeSuperLabel ?submarineClassSuperLabel
WHERE
{
  ?submarineClass wdt:P31/wdt:P279* wd:Q1428357 .
  ?submarineClass wdt:P279 ?submarineTypeSuper .
  ?submarineTypeSuper wdt:P31/wdt:P279* wd:Q121289744 .
  FILTER NOT EXISTS { ?submarineTypeSuper wdt:P31/wdt:P279* wd:Q1428357 . }
  ?submarineClass wdt:P279 ?submarineClassSuper .
  ?submarineClassSuper wdt:P31/wdt:P279* wd:Q1428357 .
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Submarine classes that are subclasses of both a submarine class and a submarine type (low)

Boats edit

Priority: low
SELECT DISTINCT ?boatClass(REPLACE(STR(?boatClass),".*Q","Q") AS ?boatClassQ) ?boatClassLabel
WHERE
{
  ?boatClass wdt:P31/wdt:P279* wd:Q121289722 .
  ?boatClass wdt:P279 wd:Q35872 .
 MINUS { ?boatClass wdt:P279 ?super . FILTER ( ?super != wd:Q35872 ) ?super wdt:P279+ wd:Q1229765 . }
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Boat classes that are direct subclasses of boat (low)
Priority: medium
SELECT DISTINCT ?boatClass(REPLACE(STR(?boatClass),".*Q","Q") AS ?boatClassQ) ?boatClassLabel
WHERE
{
  ?boatClass wdt:P31/wdt:P279* wd:Q121289722 .
  FILTER NOT EXISTS {?boatClass wdt:P279/wdt:P31/wdt:P279* wd:Q16103215 .}
  FILTER NOT EXISTS {?boatClass wdt:P279/wdt:P31/wdt:P279* wd:Q121289722 .}
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Boat classes that are not subclasses of a boat class or a boat type (medium)
Priority: low - this is most likely redundant information
SELECT DISTINCT ?boatClass(REPLACE(STR(?boatClass),".*Q","Q") AS ?boatClassQ) ?boatClassLabel ?boatTypeSuperLabel ?boatClassSuperLabel
WHERE
{
  ?boatClass wdt:P31/wdt:P279* wd:Q121289722 .
  ?boatClass wdt:P279 ?boatTypeSuper .
  ?boatTypeSuper wdt:P31/wdt:P279* wd:Q16103215 .
  FILTER NOT EXISTS { ?boatTypeSuper wdt:P31/wdt:P279* wd:Q121289722 . }
  ?boatClass wdt:P279 ?boatClassSuper .
  ?boatClassSuper wdt:P31/wdt:P279* wd:Q121289722 .
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Boat classes that are subclasses of both a boat class and a boat type (low)

Missing properties readily available edit

Priority: very low
SELECT DISTINCT ?watercraft(REPLACE(STR(?watercraft),".*Q","Q") AS ?watercraftQ) ?watercraftLabel ?watercraftClassLabel
WHERE
{
  ?watercraft wdt:P31/wdt:P279* wd:Q1229765 .
  ?watercraft wdt:P18 ?image .
  ?watercraft wdt:P289 ?watercraftClass .
  FILTER NOT EXISTS {?watercraftClass wdt:P18 ?image2 .}
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Watercraft with an image but watercraft class has none (very low)
Priority: very low
SELECT DISTINCT ?watercraftClass(REPLACE(STR(?watercraftClass),".*Q","Q") AS ?watercraftClassQ) ?watercraftClassLabel ?operatorLabel
WHERE
{
  ?watercraftClass wdt:P31/wdt:P279* wd:Q1229765 .
  ?watercraft wdt:P137 ?operator .
  ?watercraft wdt:P289 ?watercraftClass .
  FILTER NOT EXISTS {?watercraft wdt:P137 ?operator .}
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Watercraft class missing an operator from watercrafts that belong to it (very low)

Missing topic's main category for direct subclasses of ship edit

Priority: low - this is just missing information
SELECT DISTINCT ?thing (REPLACE(STR(?thing), ".*Q", "Q") AS ?thingQ) ?thingLabel WHERE {
  ?thing wdt:P279 wd:Q11446.
  MINUS {
    ?thing wdt:P279 ?super.
    FILTER(?super != wd:Q11446)
    ?super (wdt:P279+) wd:Q1229765.
  }
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl". }
}
LIMIT 500
Top-level subclasses that have no topic's main category (low)

Watercraft requiring maintenance edit

Queries below can be used to list items that require maintenance; you may use these SPARQL request in PetScan (Other sources tab, with Use wiki=Wikidata) to fix these defective items.

Incorrect type issues edit

  • An individual watercraft cannot be a subclass of anything
Priority: extreme - this is a breakdown of the ontology
SELECT DISTINCT ?watercraft ?watercraftLabel ?watercraftTypeLabel ?superClassLabel
WHERE
{
 ?watercraft wdt:P31 ?watercraftType .
 ?watercraftType wdt:P279* wd:Q1229765 .
 ?watercraft wdt:P279 ?superClass .
 SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
} LIMIT 500
Individual watercraft that are also subclass of something (extreme)

Redundant types edit

  • Once a watercraft has a specific type (such as instance of (P31)naval vessel (Q177597)), it should no longer bear redundant claim instance of (P31)watercraft (Q1229765).
Priority: low - this is just redundant information
SELECT DISTINCT ?watercraft (REPLACE(STR(?watercraft),".*Q","Q") AS ?watercraftQid) ?watercraftLabel ?watercraftTypeLabel
WHERE
{
  ?watercraft wdt:P31 wd:Q1229765 .   # Plain watercraft
  ?watercraft wdt:P31 ?watercraftType .    # Also some watercraft type
  ?watercraftType wdt:P279+ wd:Q1229765 .
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".  }
}
LIMIT 5000
List watercraft bearing redundant property P31=watercraft (low)
Priority: low - this is just redundant information
SELECT DISTINCT ?ship (REPLACE(STR(?ship),".*Q","Q") AS ?shipQid) ?shipLabel ?shipTypeLabel
WHERE
{
  ?ship wdt:P31 wd:Q11446 .  # Plain ship
  ?ship wdt:P31 ?shipType .  # Also some ship type
  ?shipType wdt:P279+ wd:Q11446 .
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl". }
}
LIMIT 5000
List ships bearing redundant property P31=ship (low)
  • Once a submarine has a specific type it should no longer be a direct instance of submarine (Q2811)
Priority: low - this is just redundant information
SELECT DISTINCT ?submarine (REPLACE(STR(?submarine),".*Q","Q") AS ?submarineQid) ?submarineLabel ?submarineTypeLabel
WHERE
{
  ?submarine wdt:P31 wd:Q2811 .   # Plain submarine
  ?submarine wdt:P31 ?submarineType .  # Also some submarine type
  ?submarineType wdt:P279+ wd:Q2811 .
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 5000
List submarines bearing redundant property P31=submarine (low)
  • Once a boat has a specific type it should no longer be a direct instance of boat (Q35872)
Priority: low - this is just redundant information
SELECT DISTINCT ?boat (REPLACE(STR(?boat),".*Q","Q") AS ?boatQid) ?boatLabel ?boatTypeLabel
WHERE
{
  ?boat wdt:P31 wd:Q35872 .  # Plain boat
  ?boat wdt:P31 ?boatType .  # Also some boat type
  ?boatType wdt:P279+ wd:Q35872 .
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 5000
List boats bearing redundant property P31=boat (low)

Incorrect relationship to watercraft class edit

  • Watercraft should not be an instance of a watercraft class
SELECT DISTINCT ?item (REPLACE(STR(?item),".*Q","Q") AS ?itemQid) ?itemLabel ?vesselClassLabel
WHERE
{
  ?item wdt:P31 ?vesselClass .
  ?vesselClass wdt:P31/wdt:P279* wd:Q18758641 .
  FILTER NOT EXISTS { ?vesselClass wdt:P31/wdt:P279* wdt:Q106179098 . }
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Items that are instances of watercraft classes (medium)
  • Watercraft should only have one watercraft class
SELECT DISTINCT ?watercraft (REPLACE(STR(?watercraft),".*Q","Q") AS ?watercraftQid) ?watercraftLabel ?watercraftClassLabel ?extrawatercraftClassLabel
WHERE
{
  ?watercraft wdt:P289 ?watercraftClass .
  ?watercraft wdt:P289 ?extrawatercraftClass .
  FILTER ( ?watercraftClass != ?extrawatercraftClass )
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
} LIMIT 500
List watercraft with two watercraft classes (medium)

Misused properties edit

SELECT DISTINCT ?watercraft (REPLACE(STR(?watercraft),".*Q","Q") AS ?watercraftQid) ?watercraftLabel ?watercraftClassLabel
WHERE
{
  ?watercraft wdt:P361 ?watercraftClass .
  ?watercraftClass wdt:P31/wdt:P279* wd:Q559026 .
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Things that are part-of a watercraft class (high)
SELECT DISTINCT ?watercraft (REPLACE(STR(?watercraft),".*Q","Q") AS ?watercraftQid) ?watercraftLabel
WHERE
{
  ?watercraft wdt:P31/wdt:P279* wd:Q2095057 .
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Watercraft that are instances of lead ship (medium)

Types that are too generic edit

  • List direct instances of watercraft or ship or submarine or boat despite having a vessel class (P289):
SELECT DISTINCT ?watercraft (REPLACE(STR(?watercraft),".*Q","Q") AS ?watercraftQid) ?watercraftLabel ?watercraftClassLabel
WHERE
{
  { ?watercraft wdt:P31 wd:Q1229765 } UNION { ?watercraft wdt:P31 wd:Q11446 } UNION { ?watercraft wdt:P31 wd:Q35872 } 
  ?watercraft wdt:P289 ?watercraftClass .
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 5000
List direct instances of watercraft or ship or boat and also have a vessel class (medium)
SELECT DISTINCT ?watercraft (REPLACE(STR(?watercraft),".*Q","Q") AS ?watercraftQid) ?watercraftLabel
WHERE
{
  { ?watercraft wdt:P31 wd:Q1229765 } UNION { ?watercraft wdt:P31 wd:Q11446 } UNION { ?watercraft wdt:P31 wd:Q2811 } UNION { ?watercraft wdt:P31 wd:Q35872 } 
  FILTER NOT EXISTS { ?watercraft wdt:P289 ?watercraftClass . }
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 5000
List direct instances of watercraft or ship or submarine or boat and with no vessel class (medium)

Improper use of training vessel (Q660668) edit

SELECT DISTINCT ?watercraft (REPLACE(STR(?watercraft),".*Q","Q") AS ?watercraftQid) ?watercraftLabel
WHERE
{
  ?watercraft wdt:P31/wdt:P279* wd:Q660668 .
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Instances of training vessel - should be P366 (medium)
SELECT DISTINCT ?thing (REPLACE(STR(?thing),".*Q","Q") AS ?thingQid) ?thingLabel
WHERE
{
  ?thing wdt:P366 wd:Q660668 .
  FILTER NOT EXISTS { ?thing wdt:P31/wdt:P279* wd:Q1229765 . }
  FILTER NOT EXISTS { ?thing wdt:P31/wdt:P279* wd:Q18758641 . }
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Things that have use as training watercraft but are not watercraft or watercraft classes (high)

Ships edit

Priority: medium low - this is an ontology violation but not a serious one
SELECT DISTINCT ?shipClass(REPLACE(STR(?shipClass),".*Q","Q") AS ?shipClassQ) ?shipClassLabel ?previousClassLabel
WHERE
{
  ?shipClass wdt:P31/wdt:P279* wd:Q559026 .
  ?shipClass wdt:P155 ?previousClass .
  FILTER NOT EXISTS {?previousClass wdt:P31/wdt:P279* wd:Q559026 .}
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Ship classes follow something that is not a ship class (medium low)
Priority: medium low - this is an ontology violation but not a serious one
SELECT DISTINCT ?shipClass(REPLACE(STR(?shipClass),".*Q","Q") AS ?shipClassQ) ?shipClassLabel ?followingClassLabel
WHERE
{
  ?shipClass wdt:P31/wdt:P279* wd:Q559026 .
  ?shipClass wdt:P156 ?followingClass .
  FILTER NOT EXISTS {?followingClass wdt:P31/wdt:P279* wd:Q559026 .}
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Ship classes followed by something that is not a ship class (medium low)
Priority: medium low - this is an ontology violation but not a serious one
SELECT DISTINCT ?ship(REPLACE(STR(?ship),".*Q","Q") AS ?shipQ) ?shipLabel ?previousClassLabel
WHERE
{
  ?ship wdt:P31/wdt:P279* wd:Q11446 .
  ?ship wdt:P155 ?previousClass .
  ?previousClass wdt:P31/wdt:P279* wd:Q559026 .
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Ship follows a ship class (medium low)
Priority: medium low - this is an ontology violation but not a serious one
SELECT DISTINCT ?ship(REPLACE(STR(?ship),".*Q","Q") AS ?shipQ) ?shipLabel ?followingClassLabel
WHERE
{
  ?ship wdt:P31/wdt:P279* wd:Q11446 .
  ?ship wdt:P156 ?followingClass .
  ?followingClass wdt:P31/wdt:P279* wd:Q559026 .
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Ship followed by a ship class (medium low)

Submarines edit

Priority: medium low - this is an ontology violation but not a serious one
SELECT DISTINCT ?submarineClass(REPLACE(STR(?submarineClass),".*Q","Q") AS ?submarineClassQ) ?submarineClassLabel ?previousClassLabel
WHERE
{
  ?submarineClass wdt:P31/wdt:P279* wd:Q1428357 .
  ?submarineClass wdt:P155 ?previousClass .
  FILTER NOT EXISTS {?previousClass wdt:P31/wdt:P279* wd:Q1428357 .}
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Submarine classes follow something that is not a submarine class (medium low)
Priority: medium low - this is an ontology violation but not a serious one
SELECT DISTINCT ?submarineClass(REPLACE(STR(?submarineClass),".*Q","Q") AS ?submarineClassQ) ?submarineClassLabel ?followingClassLabel
WHERE
{
  ?submarineClass wdt:P31/wdt:P279* wd:Q1428357 .
  ?submarineClass wdt:P156 ?followingClass .
  FILTER NOT EXISTS {?followingClass wdt:P31/wdt:P279* wd:Q1428357 .}
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Submarine classes followed by something that is not a submarine class (medium low)
Priority: medium low - this is an ontology violation but not a serious one
SELECT DISTINCT ?submarine(REPLACE(STR(?submarine),".*Q","Q") AS ?submarineQ) ?submarineLabel ?previousClassLabel
WHERE
{
  ?submarine wdt:P31/wdt:P279* wd:Q2811 .
  ?submarine wdt:P155 ?previousClass .
  ?previousClass wdt:P31/wdt:P279* wd:Q1428357 .
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Submarine follows a submarine class (medium low)
Priority: medium low - this is an ontology violation but not a serious one
SELECT DISTINCT ?submarine(REPLACE(STR(?submarine),".*Q","Q") AS ?submarineQ) ?submarineLabel ?followingClassLabel
WHERE
{
  ?submarine wdt:P31/wdt:P279* wd:Q2811 .
  ?submarine wdt:P156 ?followingClass .
  ?followingClass wdt:P31/wdt:P279* wd:Q1428357 .
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Submarine followed by a submarine class (medium low)

Boats edit

Priority: medium low - this is an ontology violation but not a serious one
SELECT DISTINCT ?boatClass(REPLACE(STR(?boatClass),".*Q","Q") AS ?boatClassQ) ?boatClassLabel ?previousClassLabel
WHERE
{
  ?boatClass wdt:P31/wdt:P279* wd:Q121289722 .
  ?boatClass wdt:P155 ?previousClass .
  FILTER NOT EXISTS {?previousClass wdt:P31/wdt:P279* wd:Q121289722 .}
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Boat classes follow something that is not a boat class (medium low)
Priority: medium low - this is an ontology violation but not a serious one
SELECT DISTINCT ?boatClass(REPLACE(STR(?boatClass),".*Q","Q") AS ?boatClassQ) ?boatClassLabel ?followingClassLabel
WHERE
{
  ?boatClass wdt:P31/wdt:P279* wd:Q121289722 .
  ?boatClass wdt:P156 ?followingClass .
  FILTER NOT EXISTS {?followingClass wdt:P31/wdt:P279* wd:Q121289722 .}
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Boat classes followed by something that is not a boat class (medium low)
Priority: medium low - this is an ontology violation but not a serious one
SELECT DISTINCT ?boat(REPLACE(STR(?boat),".*Q","Q") AS ?boatQ) ?boatLabel ?previousClassLabel
WHERE
{
  ?boat wdt:P31/wdt:P279* wd:Q35872 .
  ?boat wdt:P155 ?previousClass .
  ?previousClass wdt:P31/wdt:P279* wd:Q121289722 .
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Boat follows a boat class (medium low)
Priority: medium low - this is an ontology violation but not a serious one
SELECT DISTINCT ?boat(REPLACE(STR(?boat),".*Q","Q") AS ?boatQ) ?boatLabel ?followingClassLabel
WHERE
{
  ?boat wdt:P31/wdt:P279* wd:Q35872 .
  ?boat wdt:P156 ?followingClass .
  ?followingClass wdt:P31/wdt:P279* wd:Q121289722 .
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".}
}
LIMIT 500
Boat followed by a boat class (medium low)

Navy-related items missing a type edit

Priority: medium
SELECT DISTINCT ?thing (REPLACE(STR(?thing),".*Q","Q") AS ?thingQid) ?thingLabel ?navyLabel
WHERE
{
  ?navy wdt:P137 ?thing .
  ?navy wdt:P31/wdt:P279* wd:Q4508 .
  FILTER NOT EXISTS { ?thing wdt:P31 ?type . }
  SERVICE wikibase:label { 
    bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".
  }
}
LIMIT 500
Things that are operated by a navy but are missing a type (medium)

IMO numbers used in more than one item edit

Priority: medium
SELECT ?value ?valueLabel ?count WHERE {
  {
    SELECT ?value (COUNT(DISTINCT ?a) AS ?count) WHERE {
       ?a ?prop ?value . 
       ?a wdt:P31 ?class .
       BIND (wdt:P458 AS ?prop) .
       BIND (wd:Q11446 AS ?class) .
    } GROUP BY ?value 
  } FILTER (?count > 1) . 
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "en" .
  }
}
ORDER BY DESC(?count) ?valueLabel
LIMIT 200
IMO numbers used more than once (medium)