User:Tsaorin/BID UniversosFiccion

Consultas SPARQL para trabajo sobre universos de ficción.

  • Universo de las obras. Publicación.
  • Universo narrativo. Historia.

Clases y superclases de los elementos de un universo de ficción edit

select DISTINCT ?item ?itemLabel ?prop ?clase ?claseLabel ?superclase ?superclaseLabel WHERE {
VALUES ?prop {wdt:P31 wdt:P279 wdt:P361}
?item wdt:P1080 wd:Q5410773 .
?item ?prop ?clase .
?clase wdt:P279 ?superclase .
SERVICE wikibase:label {
bd:serviceParam wikibase:language "es","en" .
}
} GROUP BY ?item ?itemLabel ?clase ?claseLabel ?prop ?superclase ?superclaseLabel

Y una segunda consulta

select DISTINCT ?clase ?claseLabel (COUNT(?item) as ?num_items) ?prop ?superclase ?superclaseLabel WHERE {
VALUES ?prop {wdt:P31 wdt:P279 wdt:P361}
?item wdt:P1080 wd:Q5410773 .
?item ?prop ?clase .
?clase wdt:P279 ?superclase .
SERVICE wikibase:label {
bd:serviceParam wikibase:language "es","en" .
}
} GROUP BY ?clase ?claseLabel ?prop ?superclase ?superclaseLabel

Elementos que integran un universo de ficción edit

En primer lugar debemos obtener los items únicos predicados de cada universo a través de P1080.

SELECT DISTINCT ?item ?itemLabel  WHERE {
?item wdt:P1080 wd:Q5410773;
SERVICE wikibase:label { bd:serviceParam wikibase:language "es", "en". }
}
}

Obtenemos los items y su clase, incluyendo la propiedad a través de la que obtenemos clase (Además de P31 y P279 a veces salen otras)

SELECT DISTINCT ?item ?itemLabel ?propiedad ?propLabel ?objeto ?objetoLabel WHERE {
?item wdt:P1080 wd:Q5410773;
?propiedad ?objeto.
?prop wikibase:directClaim ?propiedad.
SERVICE wikibase:label { bd:serviceParam wikibase:language "es", "en". }
}

Propiedades agrupadas usadas en elementos edit

SELECT ?propiedad ?pLabel (count(?item) as ?uso_total) (count( distinct ?item) as ?uso_items_distintos) WHERE {
?item wdt:P1080 wd:Q5410773;
?propiedad ?objeto.
?p wikibase:directClaim ?propiedad.
SERVICE wikibase:label { bd:serviceParam wikibase:language "es", "en". }
} group by ?propiedad ?pLabel

Consulta sobre obras-productos de un universo edit

Al localizar universos de ficción desde la propiedad P1080 "Del universo de ficción" recuperamos el interior, los elementos de la narrativa (personajes, cosas, lugares). Cosas molonas, pero queda fuera más o menos todo aquello donde toma cuerpo en publicaciones o creative works o productos masivos.

Pero entonces aparece la propiedad P1434 "Describe el universo de ficción de" donde al hacer una consulta obtenemos 154 obras del Universo HP relacionadas entre sí densamente (Continuación, parte de, secuela, basada en, obra derivada, etc..). En ninguna de estas obras se utilizan declaraciones con P1080, por lo que son, a lo gordo, subconjuntos excluyentes entre sí. Es un material intersante, que puede dejarte de lado, pero mencionarse, o analizarse para presentar las dos visas: obras y narrativa; contenedor; contenido

NOTA: LA SIGUIENTE CONSULTA UNIFICA LAS ANTERIORES, JUNTO CON EL NÚMERO DE ÍTEMS DE LOS DIFERENTES UNIVERSOS DE FICCIÓN. HE COMPROBADO QUE FUNCIONA EN WDQS

select ?universe ?universeLabel ?num_universe (count(?work) as ?num_works) WITH

{
select DISTINCT ?universe (count(?item) as ?num_universe) WHERE {
?item wdt:P1080 ?universe .

} GROUP BY ?universe
} AS %numitems

WHERE {
INCLUDE %numitems
OPTIONAL {?work wdt:P1434 ?universe .}
OPTIONAL {?universe wdt:P1445 ?work .}
SERVICE wikibase:label {
bd:serviceParam wikibase:language "es","en" .
}
} GROUP BY ?universe ?universeLabel ?num_universe



Esta consulta sirve para las obras únicas. Recorre, en dos sentidos diferentes, P1445 y P1434.

SELECT distinct ?item ?itemLabel   
WHERE {
{wd:Q5410773 wdt:P1445 ?item. #universo de ficción descrito en
}  union {
?item wdt:P1434 wd:Q5410773 .
}
SERVICE wikibase:label {bd:serviceParam wikibase:language "es","en" }
}

Esta versión es para obtener tipología de obras y algunas propiedades clave: género, forma.

SELECT distinct ?item ?itemLabel ?tipo ?tipoLabel ?genero ?generoLabel ?forma ?formaLabel  
WHERE {
{wd:Q5410773 wdt:P1445 ?item. #universo de ficción descrito en
  optional {?item wdt:P31 ?tipo }
      optional { ?item wdt:P7937 ?forma }
       optional { ?item wdt:P136 ?genero }

}  union {
?item wdt:P1434 wd:Q5410773 .
  optional {?item wdt:P31 ?tipo }
      optional { ?item wdt:P7937 ?forma }
       optional { ?item wdt:P136 ?genero }
}
SERVICE wikibase:label {bd:serviceParam wikibase:language "es","en" }
}

Inventario de universos de ficción edit

Estos son los que hay en Wikidata. Aunque pueden obtenerse por dos vías diferentes, de diferentes resultados. Aquellos tipificados como universo de ficción (o subclases)

SELECT DISTINCT ?item ?itemLabel WHERE {
?item wdt:P31/wdt:P279* wd:Q559618 # Universo de ficción
SERVICE wikibase:label {bd:serviceParam wikibase:language "es","en".}
}

Aquellos resultantes de usar la propiedad P1080 (Del universo de ficción de)

select DISTINCT ?universe ?universeLabel WHERE {
?item wdt:P1080 ?universe .
SERVICE wikibase:label {
bd:serviceParam wikibase:language "es","en" .
}
}

Consulta combinada de obras y elementos de un Universo de Ficción edit

Esta sirve para delimitar y medir el universo en sus dos sentidos: las obras o piezas en que se ha manifestado, y el número de elementos que componen su narrativa interna. {{SPARQL|query= select ?universe ?universeLabel ?num_universe (count(?work) as ?num_works) WITH { select DISTINCT ?universe (count(?item) as ?num_universe) WHERE { ?item wdt:P1080 ?universe .

} GROUP BY ?universe } AS %numitems

WHERE { INCLUDE %numitems OPTIONAL {?work wdt:P1434 ?universe .} OPTIONAL {?universe wdt:P1445 ?work .} SERVICE wikibase:label { bd:serviceParam wikibase:language "es","en" . } } GROUP BY ?universe ?universeLabel ?num_universe </syntaxhighlight>

Elementos de un universo que son personajes de ficción (o entidades de ficción) edit

Explora la lista de elementos recopilados de un UF, y combrueba por dos vías (P279 y P8225) si sus tipos son subclases de "Personaje de ficción" de forma recursvia.

select DISTINCT ?item ?itemLabel WHERE {
VALUES ?prop {wdt:P31 wdt:P279 wdt:P361}
  {
?item wdt:P1080 wd:Q5410773 .
?item ?prop ?clase .
?clase wdt:P279* wd:Q95074 .  #fictional character
}  union {
?item wdt:P1080 wd:Q5410773 .
?item ?prop ?clase .
?clase wdt:P8225* wd:Q95074 . #fctional character
}
SERVICE wikibase:label {bd:serviceParam wikibase:language "es","en" }
}

Entidades de ficción edit

Otra versión comprueba que sean Entidades de ficción, que está más arriba en la taxonomía que "Personajes". Casi todos los elementos son reconocidos como de ficción (701 de 704)

select DISTINCT ?item ?itemLabel WHERE {
VALUES ?prop {wdt:P31 wdt:P279 wdt:P361}
  {
?item wdt:P1080 wd:Q5410773 .
?item ?prop ?clase .
?clase wdt:P279* wd:Q14897293 .
}  union {
?item wdt:P1080 wd:Q5410773 .
?item ?prop ?clase .
?clase wdt:P8225* wd:Q14897293 . 
}
SERVICE wikibase:label {bd:serviceParam wikibase:language "es","en" }
}

Objetos de ficción edit

Hay unos 180 objetos de ficción en el universo de Harry Potter.

select DISTINCT ?item ?itemLabel WHERE {
VALUES ?prop {wdt:P31 wdt:P279 wdt:P361}
  {
?item wdt:P1080 wd:Q5410773 . # Universo Harry Potter
?item ?prop ?clase .
?clase wdt:P279* wd:Q15706911 . 
}  union {
?item wdt:P1080 wd:Q5410773 .
?item ?prop ?clase .
?clase wdt:P8225* wd:Q15706911 . 
}
SERVICE wikibase:label {bd:serviceParam wikibase:language "es","en" }
}

Clases para objetos de ficción edit

La anotación manual da 43 clases, y la consulta SPARQL 67.

select DISTINCT ?clase ?claseLabel WHERE {
VALUES ?prop {wdt:P31 wdt:P279 wdt:P361}
  {
?item wdt:P1080 wd:Q5410773 . # Universo Harry Potter
?item ?prop ?clase .
?clase wdt:P279* wd:Q15706911 . 
}  union {
?item wdt:P1080 wd:Q5410773 .
?item ?prop ?clase .
?clase wdt:P8225* wd:Q15706911 . 
}
SERVICE wikibase:label {bd:serviceParam wikibase:language "es","en" }
}

Agrupación nativa Wikidata de tipos en un UF edit

Consulta tipologia de elementos de ficcion de un universo, a partir de las taxonomia de clases nativa de Wikidata. Consulta taxonomia solo con subclases P279. Si la población diana de UF Harry Pooter son 706 elementos, salen más porque hay elementos doblemente clasificados. Unos 739, consiguiendo que la mayoría tengan un solo tipo y que solo queden unos 60 sin tipificar.

select DISTINCT ?item ?itemLabel ?tipo WHERE {
VALUES ?prop {wdt:P31}
  {
    ?item wdt:P1080 wd:Q5410773 .
?item wdt:P31/wdt:P279* wd:Q95074   . # Personaje ficticio
MINUS {?item wdt:P31/wdt:P279* wd:Q14623646  } . # No Organización de ficción 
BIND("Personaje de ficción" AS ?tipo)
} union {
VALUES ?seres { wd:Q110660 wd:Q21192438} # Criaturas y especies ficticias
  ?item wdt:P1080 wd:Q5410773  .
  ?item wdt:P31*/wdt:P279* ?seres . 
MINUS {?item wdt:P31/wdt:P279* wd:Q95074  } . # No personaje de ficción
BIND("Seres, criaturas y plantas" AS ?tipo)   
    
} union {
?item wdt:P1080 wd:Q5410773 .
?item wdt:P31/wdt:P279* wd:Q14514600     . # Grupos de personajes  
MINUS {?item wdt:P31/wdt:P279* wd:Q15796005  } . # No lugar de ficción
MINUS {?item wdt:P31/wdt:P279* wd:Q14623646  } . # No organización de ficción
MINUS {?item wdt:P31/wdt:P279* wd:Q95074  } . # No personaje de ficción
BIND("Grupo personajes de ficción" AS ?tipo)    
  } union {
?item wdt:P1080 wd:Q5410773 .
?item  wdt:P31/wdt:P279* wd:Q14136353     . # Organización ficticia  
MINUS {?item wdt:P31/wdt:P279* wd:Q15796005  } . # No Lugar de ficción 
BIND("Acontecimiento de ficción" AS ?tipo)    
    } union {
?item wdt:P1080 wd:Q5410773 .
?item  wdt:P31*/wdt:P279* wd:Q14623646     . # Acontecimiento ficticio
MINUS {?item wdt:P31/wdt:P279* wd:Q15796005  } . # No Lugar de ficción 
BIND("Organización de ficción" AS ?tipo) 
} union {
?item wdt:P1080 wd:Q5410773 .
?item  wdt:P31/wdt:P279* wd:Q15796005          . # Lugar ficticio
#MINUS {?item wdt:P31/wdt:P279* wd:Q15706911  } . # No Objeto de ficción
BIND("Lugar de ficción" AS ?tipo)    
} union {
?item wdt:P1080 wd:Q5410773 .
?item  wdt:P31/wdt:P279* wd:Q15706911          . # Objeto ficticio
MINUS {?item wdt:P31/wdt:P279* wd:Q15796005  } . # No lugar de ficción
MINUS {?item wdt:P31/wdt:P279* wd:Q14623646  } . # No organización de ficción
BIND("Objeto de ficción" AS ?tipo)    
} union {
?item wdt:P1080 wd:Q5410773 .
?item  wdt:P31*/wdt:P279* wd:Q6619802          . # Medio de transporte ficticio
MINUS {?item wdt:P31/wdt:P279* wd:Q15706911  } . # No objeto de ficción    
    BIND("Medio de transporte de ficción" AS ?tipo)    
    
 
} union {
VALUES ?magia { wd:Q1047698 wd:Q15708422 wd:Q81741 wd:Q80837} # Superpoder, energia ficticia, Magia y sobrenatural
  ?item wdt:P1080 wd:Q5410773  .
  ?item wdt:P31*/wdt:P279* ?magia .  
#MINUS {?item wdt:P31/wdt:P279* wd:Q15706911  } . # No objeto de ficción. Bastantes objetos mágicos que aparecen también como objetos  
    BIND("Magia y superpoderes" AS ?tipo)       
    
} 
  
SERVICE wikibase:label {bd:serviceParam wikibase:language "es","en" }
}

Versión apurando al máximo y marcando elementos sin P31 edit

Controlar que no salgan demasiados elementos con 2/3 tipos.

select DISTINCT ?item ?itemLabel ?tipo WHERE {
VALUES ?prop {wdt:P31}
  {
    ?item wdt:P1080 wd:Q5410773 .
?item wdt:P31/wdt:P279* wd:Q95074   . # Personaje ficticio
MINUS {?item wdt:P31/wdt:P279* wd:Q14623646  } . # No Organización de ficción 
BIND("Personaje de ficción" AS ?tipo)
} union {
VALUES ?seres { wd:Q110660 wd:Q21192438} # Criaturas y especies ficticias
  ?item wdt:P1080 wd:Q5410773  .
  ?item wdt:P31*/wdt:P279* ?seres . 
MINUS {?item wdt:P31/wdt:P279* wd:Q95074  } . # No personaje de ficción
BIND("Seres, criaturas y plantas" AS ?tipo)   
    
} union {
?item wdt:P1080 wd:Q5410773 .
?item wdt:P31/wdt:P279* wd:Q14514600     . # Grupos de personajes  
MINUS {?item wdt:P31/wdt:P279* wd:Q15796005  } . # No lugar de ficción
MINUS {?item wdt:P31/wdt:P279* wd:Q14623646  } . # No organización de ficción
MINUS {?item wdt:P31/wdt:P279* wd:Q95074  } . # No personaje de ficción
BIND("Grupo personajes de ficción" AS ?tipo)    
  } union {
?item wdt:P1080 wd:Q5410773 .
?item  wdt:P31/wdt:P279* wd:Q14136353     . # Organización ficticia  
MINUS {?item wdt:P31/wdt:P279* wd:Q15796005  } . # No Lugar de ficción 
BIND("Acontecimiento de ficción" AS ?tipo)    
    } union {
?item wdt:P1080 wd:Q5410773 .
?item  wdt:P31*/wdt:P279* wd:Q14623646     . # Acontecimiento ficticio
MINUS {?item wdt:P31/wdt:P279* wd:Q15796005  } . # No Lugar de ficción 
BIND("Organización de ficción" AS ?tipo) 
} union {
?item wdt:P1080 wd:Q5410773 .
?item  wdt:P31/wdt:P279* wd:Q15796005          . # Lugar ficticio
#MINUS {?item wdt:P31/wdt:P279* wd:Q15706911  } . # No Objeto de ficción
BIND("Lugar de ficción" AS ?tipo)    
} union {
?item wdt:P1080 wd:Q5410773 .
?item  wdt:P31/wdt:P279* wd:Q15706911          . # Objeto ficticio
MINUS {?item wdt:P31/wdt:P279* wd:Q15796005  } . # No lugar de ficción
MINUS {?item wdt:P31/wdt:P279* wd:Q14623646  } . # No organización de ficción
BIND("Objeto de ficción" AS ?tipo)    
} union {
?item wdt:P1080 wd:Q5410773 .
?item  wdt:P31*/wdt:P279* wd:Q6619802          . # Medio de transporte ficticio
MINUS {?item wdt:P31/wdt:P279* wd:Q15706911  } . # No objeto de ficción    
    BIND("Medio de transporte de ficción" AS ?tipo)    
} union {
VALUES ?magia { wd:Q1047698 wd:Q15708422 wd:Q81741 wd:Q80837} # Superpoder, energia ficticia, Magia y sobrenatural
  ?item wdt:P1080 wd:Q5410773  .
  ?item wdt:P31*/wdt:P279* ?magia .  
#MINUS {?item wdt:P31/wdt:P279* wd:Q15706911  } . # No objeto de ficción. Bastantes objetos mágicos que aparecen también como objetos  
    BIND("Magia y superpoderes" AS ?tipo)       
} union {
VALUES ?seres { wd:Q110660 wd:Q21192438} 
  ?item wdt:P1080 wd:Q5410773  .
  ?item wdt:P31*/wdt:P279* wd:Q21451536 . 
MINUS {?item wdt:P31/wdt:P279* wd:Q15796005  } . # No lugar de ficción
MINUS {?item wdt:P31/wdt:P279* wd:Q14623646  } . # No organización de ficción
MINUS {?item wdt:P31/wdt:P279* wd:Q95074  } . # No personaje de ficción 
MINUS {?item wdt:P31/wdt:P279* wd:Q15706911  } . # No objeto de ficción 
  MINUS {?item wdt:P31/wdt:P279* wd:Q14514600   } # No grupos personajes
        BIND("Atributos de personajes" AS ?tipo)    
    } union {
VALUES ?atributos { wd:Q21451536 } # Profesiones, puestos
  ?item wdt:P1080 wd:Q5410773  .
  ?item wdt:P31*/wdt:P279* ?atributos . 
MINUS {?item wdt:P31/wdt:P279* wd:Q15796005  } . # No lugar de ficción
MINUS {?item wdt:P31/wdt:P279* wd:Q14623646  } . # No organización de ficción
MINUS {?item wdt:P31/wdt:P279* wd:Q95074  } . # No personaje de ficción 
MINUS {?item wdt:P31/wdt:P279* wd:Q15706911  } . # No objeto de ficción 
  MINUS {?item wdt:P31/wdt:P279* wd:Q14514600   } # No grupos personajes
        BIND("Atributos de personajes" AS ?tipo)   
    } union {
  ?item wdt:P1080 wd:Q5410773  .
  ?item wdt:P1269* wd:Q2316469 
  MINUS {?item wdt:P31/wdt:P279* wd:Q14514600   } # No grupos personajes
        BIND("Atributos de personajes" AS ?tipo)
    } union {
  ?item wdt:P1080 wd:Q5410773  .
  ?item wdt:P279* wd:Q14897293 
  MINUS {?item wdt:P31/wdt:P279* wd:Q14514600   } # No grupos personajes
    MINUS {?item wdt:P31/wdt:P279* wd:Q15796005  } . # No lugar de ficción
MINUS {?item wdt:P31/wdt:P279* wd:Q14623646  } . # No organización de ficción
MINUS {?item wdt:P31/wdt:P279* wd:Q95074  } . # No personaje de ficción
    MINUS {?item wdt:P31/wdt:P279* wd:Q15706911  } . # No objeto de ficción 
    MINUS { ?item wdt:P1269* wd:Q2316469  } # Atributos de personajes
    MINUS { VALUES ?atributos { wd:Q21451536} ?item wdt:P31*/wdt:P279* ?atributos } # Profesiones, puestos ?item wdt:P1269* wd:Q2316469  } # Atributos de personajes
        BIND("P279: Clase bajo entidades de ficción" AS ?tipo)
} 

Versión con instanciación P31 y P279 y categoría "Otros" edit

Esta consulta sobre deja 38 elementos del universo sin clasificar, y 49 en la categorias otros. Obtiene 907 items. Con unas 536 asignaciones a una sola categoría, 117 elementos a dos categorías, 25 a 3 categorías, 8 a cuatro y 30 a 6 categorías. Si da timeout en WQDS se puede fragmentar y luego unir, puesto que cada consulta UNION no aprovecha nada de la anterior.

#Variante que acepta tipificación primaria con P31 o P279
select DISTINCT ?item ?itemLabel ?tipo WHERE {
{
  # Criaturas, especies ficticias y taxones
  VALUES ?seres { wd:Q110660 wd:Q21192438 wd:Q15707583} 
  ?item wdt:P1080 wd:Q5410773; wdt:P31|wdt:P279 ?clase .
  ?clase wdt:P279* ?seres . 
  MINUS {?item wdt:P31/wdt:P279* wd:Q95074  } . # No personaje de ficción
  BIND("Seres, criaturas y plantas" AS ?tipo)     
} union { 
   # Grupos de personajes 
  ?item wdt:P1080 wd:Q5410773; wdt:P31|wdt:P279 ?clase .
  ?clase wdt:P279* wd:Q14514600     .
  MINUS {?item wdt:P31/wdt:P279* wd:Q15796005  } . # No lugar de ficción
  MINUS {?item wdt:P31/wdt:P279* wd:Q14623646  } . # No organización de ficción
  MINUS {?item wdt:P31/wdt:P279* wd:Q95074  } . # No personaje de ficción
  BIND("Grupo personajes de ficción" AS ?tipo)    
} union {
  # Personaje fictio
  ?item wdt:P1080 wd:Q5410773; wdt:P31|wdt:P279 ?clase .
  ?clase wdt:P279* wd:Q95074   . 
  MINUS {?item wdt:P31/wdt:P279* wd:Q14623646  } . # No Organización de ficción 
  BIND("Personaje de ficción" AS ?tipo)
} union {
  # Acontecimiento ficticio
  VALUES ?evento {wd:Q33498716 wd:Q14136353}
  ?item wdt:P1080 wd:Q5410773; wdt:P31|wdt:P279 ?clase .
  ?clase  wdt:P279* ?evento      
  MINUS {?item wdt:P31/wdt:P279* wd:Q15796005  } . # No Lugar de ficción 
  BIND("Acontecimiento de ficción" AS ?tipo)    
} union {
  # Organización ficticia
  ?item wdt:P1080 wd:Q5410773; wdt:P31|wdt:P279 ?clase .
  ?clase  wdt:P279* wd:Q14623646     . # 
  MINUS {?item wdt:P31/wdt:P279* wd:Q15796005  } . # No Lugar de ficción 
  BIND("Organización de ficción" AS ?tipo) 
} union {
  # Lugar ficticio
   VALUES ?sitios {wd:Q15796005 wd:Q41176}
  ?item wdt:P1080 wd:Q5410773; wdt:P31|wdt:P279 ?clase .
  ?clase wdt:P279* ?sitios . 
  BIND("Lugar de ficción" AS ?tipo)    
} union {
  # Objeto ficticio
  ?item wdt:P1080 wd:Q5410773; wdt:P31|wdt:P279 ?clase .
  ?clase wdt:P279* wd:Q15706911          . # Objeto ficticio
  MINUS {?item wdt:P31/wdt:P279* wd:Q15796005  } . # No lugar de ficción
  MINUS {?item wdt:P31/wdt:P279* wd:Q14623646  } . # No organización de ficción
  BIND("Objeto de ficción" AS ?tipo)    
} union {
  # Medio de transporte
  ?item wdt:P1080 wd:Q5410773; wdt:P31|wdt:P279 ?clase .
  ?clase wdt:P279* wd:Q6619802          . # Medio de transporte ficticio
  MINUS {?item wdt:P31/wdt:P279* wd:Q15706911  } . # No objeto de ficción    
  BIND("Medio de transporte de ficción" AS ?tipo)    
} union {
  # Magia y superpoderes
  VALUES ?magia { wd:Q1047698 wd:Q15708422 wd:Q81741 wd:Q80837} # Superpoder, energia ficticia, Magia y sobrenatural
  ?item wdt:P1080 wd:Q5410773  .
  ?item wdt:P31*/wdt:P279* ?magia .  
  #MINUS {?item wdt:P31/wdt:P279* wd:Q15706911  } . # No objeto de ficción. Bastantes objetos mágicos que aparecen también como objetos  
  BIND("Magia y superpoderes" AS ?tipo)       
   
} union {
  # Atributos de personajes: puestos, profesiones, cargos, pureza de sangre
  VALUES ?atributos { wd:Q21451536 wd:Q1781513 wd:Q844569} # Profesiones, puestos, identidad, 
  ?item wdt:P1080 wd:Q5410773; wdt:P31|wdt:P279|wdt:P1269 ?clase .
  ?clase wdt:P279* ?atributos . 
  MINUS {?item wdt:P31/wdt:P279* wd:Q15796005  } . # No lugar de ficción
  MINUS {?item wdt:P31/wdt:P279* wd:Q14623646  } . # No organización de ficción
  MINUS {?item wdt:P31/wdt:P279* wd:Q95074  } . # No personaje de ficción 
  MINUS {?item wdt:P31/wdt:P279* wd:Q15706911  } . # No objeto de ficción 
  MINUS {?item wdt:P31/wdt:P279* wd:Q14514600   } # No grupos personajes
  BIND("Atributos de personajes" AS ?tipo)   
} union {
  # General Entidad ficticia diferente anteriores
  ?item wdt:P1080 wd:Q5410773 ; wdt:P279* wd:Q14897293 
  # EXCLUSIONES
  MINUS {?item wdt:P31/wdt:P279* wd:Q14514600   } # No grupos personajes
  MINUS {?item wdt:P31/wdt:P279* wd:Q15796005  } . # No lugar de ficción
  MINUS {?item wdt:P31/wdt:P279* wd:Q14623646  } . # No organización de ficción
  MINUS {?item wdt:P31/wdt:P279* wd:Q95074  } . # No personaje de ficción
  MINUS {?item wdt:P31/wdt:P279* wd:Q15706911  } . # No objeto de ficción 
  MINUS { ?item wdt:P1269* wd:Q2316469  } # Atributos de personajes
  MINUS { VALUES ?atributos { wd:Q21451536} ?item wdt:P31*/wdt:P279* ?atributos }     # Profesiones, puestos 
  MINUS { VALUES ?seres { wd:Q110660 wd:Q21192438 wd:Q15707583} ?item wdt:P31*/wdt:P279* ?seres } # Criaturas y especies ficticias
  BIND("Entidad ficticia. P279" AS ?tipo)
 } union { 
#Instancias de Entidad Ficticia
  BIND("Entidad ficticia. P31" AS ?tipo)
  VALUES ?clase { wd:Q15831596 wd:Q14897293}
  ?item wdt:P1080 wd:Q5410773 ; wdt:P31/wdt:P279* ?clase 
  # Por si hubiera timeout: ?item wdt:P1080 wd:Q5410773 ; wdt:P31  ?clase 
} union {  
#Tradiciones, ritos, sociedad
  BIND("Tradiciones, ritos, sociedad" AS ?tipo)
  ?item wdt:P1080 wd:Q5410773 ;  wdt:P31|wdt:P279 ?clase .
  ?clase wdt:P279* wd:Q82821 
}
SERVICE wikibase:label {bd:serviceParam wikibase:language "es","en" }
}

Si se tiene que dividir la consulta en dos bloques, este sería el segundo, al que he añadido elementos internos de Wiki. La exploración recursiva de entidad ficticia con instancia de sublcases suele dar timeout, por lo que también se puede hacer sin recursividad (Comentado). La parte que da el timeout es la de elementos wiki.

} union {
  #BIND("Elementos Wikimedia" AS ?tipo)
  #?item wdt:P1080 wd:Q5410773 ;  wdt:P31/wdt:P279* wd:Q17442446
}

Supervisión de taxonomías asignadas a un item edit

Visión ágil de la polijerarquía a partir de la clase asignada a un item. Recorre hasta 4 niveles.

SELECT ?item ?taxonomy_tree_3levels
WHERE
{
  VALUES ?item {wd:Q14635217 }
  ?item wdt:P31 ?type. # type of instance
  ?type rdfs:label ?Label. FILTER( LANG(?Label)="en" )
  ?type wdt:P279 ?typeL2. # type of instance
  ?typeL2 wdt:P279 ?typeL3. # type of instance
  ?typeL3 wdt:P279 ?typeL4. # type of instance
  ?typeL2 rdfs:label ?LabelL2. FILTER( LANG(?LabelL2)="en" )
  ?typeL3 rdfs:label ?LabelL3. FILTER( LANG(?LabelL3)="en" )
  ?typeL4 rdfs:label ?LabelL4. FILTER( LANG(?LabelL4)="en" )
  BIND(concat(str(?Label), " > ", str(?LabelL2), " > ", str(?LabelL3), " > ", str(?LabelL4)) as ?taxonomy_tree_3levels)
}

Variante para investigar superclases edit

Aquí se parte de un elemento que ya está en una cadena de subclases.

SELECT ?item ?itemLabel ?taxonomy_tree_3levels
WHERE
{
  VALUES ?item {wd:Q95074 } # Personaje ficticio
  ?item wdt:P279 ?type. # type of instance
  ?type rdfs:label ?Label. FILTER( LANG(?Label)="en" )
  ?type wdt:P279 ?typeL2. # type of instance
  ?typeL2 wdt:P279 ?typeL3. # type of instance
  ?typeL2 rdfs:label ?LabelL2. FILTER( LANG(?LabelL2)="en" )
  ?typeL3 rdfs:label ?LabelL3. FILTER( LANG(?LabelL3)="en" )
  BIND(concat(str(?Label), " > ", str(?LabelL2), " > ", str(?LabelL3)) as ?taxonomy_tree_3levels)
  SERVICE wikibase:label {bd:serviceParam wikibase:language "es","en" .}
}
LIMIT 30

Variante para investigar subclases edit

A partir de una clase, nos traza la ruta en tres niveles hacia ella (Down-Top)

# Explorador directo de clases (Subclases Top-Down)
SELECT ?item ?itemLabel ?taxonomy_tree_levels
WHERE
{
  VALUES ?item {wd:Q15706911 } # Objeto ficticio
  ?typeL3 wdt:P279 ?item. # type of instance
  ?typeL2 wdt:P279 ?typeL3. # type of instance
  ?typeL1 wdt:P279 ?typeL2. # type of instance
  ?typeL1 rdfs:label ?LabelL1. FILTER( LANG(?LabelL1)="en" )
  ?typeL2 rdfs:label ?LabelL2. FILTER( LANG(?LabelL2)="en" )
  ?typeL3 rdfs:label ?LabelL3. FILTER( LANG(?LabelL3)="en" )
  BIND(concat(str(?LabelL3), " > ", str(?LabelL2), " > ", str(?LabelL1)) as ?taxonomy_tree_levels)
  SERVICE wikibase:label {bd:serviceParam wikibase:language "es","en" .}
}

CSV con todos las taxonomy tree de cada item del Universo de Harry Potter edit

SELECT ?item ?taxonomy_tree_up
WHERE
{
  ?item wdt:P1080 wd:Q5410773 .
  ?item wdt:P31 ?type. # type of instance
  ?type rdfs:label ?Label. FILTER( LANG(?Label)="en" )
  ?type wdt:P279 ?typeL2. # type of instance
  ?typeL2 wdt:P279 ?typeL3. # type of instance
  ?typeL3 wdt:P279 ?typeL4. # type of instance
  ?typeL2 rdfs:label ?LabelL2. FILTER( LANG(?LabelL2)="en" )
  ?typeL3 rdfs:label ?LabelL3. FILTER( LANG(?LabelL3)="en" )
  BIND(concat(str(?Label), ",", str(?LabelL2), ",", str(?LabelL3)) as ?taxonomy_tree_up)
  }

Generación de fichero RIS para VOSviewer edit

Genera los campos TY (Tipo), ID, KW (tres veces) y ER (Final de registro) en formato RIS. Luego solo queda separar cada campo en líneas separadas.

SELECT ?ty ?id ?kw1 ?kw2 ?kw3 ?er
WHERE
{
  ?item wdt:P1080 wd:Q5410773 .
  ?item wdt:P31 ?type. # type of instance
  ?type rdfs:label ?Label. FILTER( LANG(?Label)="en" )
  ?type wdt:P279 ?typeL2. # type of instance
  ?typeL2 wdt:P279 ?typeL3. # type of instance
  ?typeL3 wdt:P279 ?typeL4. # type of instance
  ?typeL2 rdfs:label ?LabelL2. FILTER( LANG(?LabelL2)="en" )
  ?typeL3 rdfs:label ?LabelL3. FILTER( LANG(?LabelL3)="en" )
  BIND(concat(str(?Label), ",", str(?LabelL2), ",", str(?LabelL3)) as ?taxonomy_tree_up)
  BIND("TY  - CASE" AS ?ty)
  BIND(concat("ID  - ", str(?item)) AS ?id)
  BIND(concat("KW  - ", ?Label) AS ?kw1)
  BIND(concat("KW  - ", ?LabelL2) AS ?kw2)
  BIND(concat("KW  - ", ?LabelL3) AS ?kw3)
  BIND("ER  - " AS ?er)
  }

Objetos, excluyendo items que también son organizaciones edit

SELECT ?item ?itemLabel ?claseLabel
WHERE {
  ?item wdt:P1080 wd:Q5410773 .
  ?item wdt:P31 ?clase .
  ?clase wdt:P279* wd:Q23010327 . # Grupo  de objetos de ficción  
MINUS {?item wdt:P31/wdt:P279* wd:Q15796005  } . # No lugar de ficción
MINUS {?item wdt:P31/wdt:P279* wd:Q14623646  } . # No organización de ficción
MINUS {?item wdt:P31/wdt:P279* wd:Q95074  } . # No personaje de ficción 
SERVICE wikibase:label {bd:serviceParam wikibase:language "es,en".}
  }

Con subquery edit

Antes también he probado usando subquery, que se ejectuta primero, localizamos todas las organizaciones, y las excluimos de la consulta principal por objetos.

SELECT ?item2 ?item2Label
WHERE {
  ?item2 wdt:P1080 wd:Q5410773 .
  ?item2 wdt:P31 ?clase2 .
  ?clase2 wdt:P279* wd:Q15706911 . # Objeto de ficción
    filter(?item2 = ?item)
  { 
    # subquery to seleccionar los que son organizaciones
    SELECT distinct ?item WHERE {
  ?item wdt:P1080 wd:Q5410773 .
  ?item wdt:P31 ?clase .
  ?clase wdt:P279* wd:Q14623646 . # Organización de ficción
    }
  }

  SERVICE wikibase:label {bd:serviceParam wikibase:language "es,en".}
}