1. Labels for lists (ich habe beim navigation modul auf eine Klasse geklickt(Event)):
Der hier geht noch (Instanzen abholen auch für subklassen)

2009-12-10T17:57:37+01:00 DEBUG (7): SPARQL ***************** 68.83 msec 
SELECT DISTINCT ?resourceUri  
FROM <http://dbpedia.org> 
WHERE { 
?resourceUri ?p ?o 

?resourceUri <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?classUri 

FILTER (isURI(?resourceUri) && !isBLANK(?resourceUri)) 
FILTER (sameTerm(?classUri, <http://dbpedia.org/ontology/Event>) || sameTerm(?classUri, <http://dbpedia.org/ontology/MilitaryConflict>) || sameTerm(?classUri, <http://dbpedia.org/ontology/FilmFestival>) || sameTerm(?classUri, <http://dbpedia.org/ontology/MusicFestival>) || sameTerm(?classUri, <http://dbpedia.org/ontology/Convention>) || sameTerm(?classUri, <http://dbpedia.org/ontology/SportsEvent>) || sameTerm(?classUri, <http://dbpedia.org/ontology/GrandPrix>) || sameTerm(?classUri, <http://dbpedia.org/ontology/WrestlingEvent>) || sameTerm(?classUri, <http://dbpedia.org/ontology/MixedMartialArtsEvent>) || sameTerm(?classUri, <http://dbpedia.org/ontology/WomensTennisAssociationTournament>) || sameTerm(?classUri, <http://dbpedia.org/ontology/Race>) || sameTerm(?classUri, <http://dbpedia.org/ontology/Olympics>)) 

ORDER BY ASC(?resourceUri) 
LIMIT 10

Verbesserungen:

  • nur !isBlank reicht, Subjekte können nur URIS oder Blanknodes sein (RDF2 ignoriert)
  • ?resourceUri ?p ?o kann weg, ein pattern reicht

2. der hier geht gar nicht:

2009-12-10T18:00:21+01:00 DEBUG (7): SPARQL ***************** 162793.5 msec 
SELECT DISTINCT ?__resource ?property ?value
FROM <http://dbpedia.org>
WHERE {OPTIONAL {?__resource ?property ?value . }
FILTER(sameTerm(?__resource, <http://dbpedia.org/resource/Hundred_Years%27_War>) || sameTerm(?__resource, <http://dbpedia.org/resource/Battle_of_Bir_Hakeim>) || sameTerm(?__resource, <http://dbpedia.org/resource/Battle_of_Gazala>) || sameTerm(?__resource, <http://dbpedia.org/resource/Operation_Crusader>) || sameTerm(?__resource, <http://dbpedia.org/resource/Korean_War>) || sameTerm(?__resource, <http://dbpedia.org/resource/Operation_Enduring_Freedom>) || sameTerm(?__resource, <http://dbpedia.org/resource/Vietnam_War>) || sameTerm(?__resource, <http://dbpedia.org/resource/Battle_of_the_Somme>) || sameTerm(?__resource, <http://dbpedia.org/resource/Battle_of_Verdun>) || sameTerm(?__resource, <http://dbpedia.org/resource/Meuse-Argonne_Offensive>))
FILTER(sameTerm(?property, <http://www.w3.org/2004/02/skos/core#prefLabel>) || sameTerm(?property, <http://purl.org/dc/elements/1.1/title>) || sameTerm(?property, <http://purl.org/dc/terms/title>) || sameTerm(?property, <http://swrc.ontoware.org/ontology#title>) || sameTerm(?property, <http://xmlns.com/foaf/0.1/name>) || sameTerm(?property, <http://usefulinc.com/ns/doap#name>) || sameTerm(?property, <http://rdfs.org/sioc/ns#name>) || sameTerm(?property, <http://www.holygoat.co.uk/owl/redwood/0.1/tags/name>) || sameTerm(?property, <http://linkedgeodata.org/vocabulary#name>) || sameTerm(?property, <http://www.geonames.org/ontology#name>) || sameTerm(?property, <http://www.w3.org/2000/01/rdf-schema#label>) || sameTerm(?property, <http://xmlns.com/foaf/0.1/accountName>) || sameTerm(?property, <http://xmlns.com/foaf/0.1/nick>) || sameTerm(?property, <http://xmlns.com/foaf/0.1/surname>) || sameTerm(?property, <http://www.w3.org/2004/02/skos/core#altLabel>))}


Verbesserungen

  • 10 kleine Queries, der Nachteil beim obigen ist, dass er auf jeden Fall über die gesamte DB rattern muss
  • Optional ist nicht nötig
  • DISTINCT ist nicht nötig
  • der folgende query liegt bei 10 msec:

sparql 
SELECT ?property ?value
FROM <http://dbpedia.org>
WHERE {
<http://dbpedia.org/resource/Hundred_Years%27_War> ?property ?value . 
FILTER(sameTerm(?property, <http://www.w3.org/2004/02/skos/core#prefLabel>) 
|| sameTerm(?property, <http://purl.org/dc/elements/1.1/title>) 
|| sameTerm(?property, <http://purl.org/dc/terms/title>) 
|| sameTerm(?property, <http://swrc.ontoware.org/ontology#title>) 
|| sameTerm(?property, <http://xmlns.com/foaf/0.1/name>) 
|| sameTerm(?property, <http://usefulinc.com/ns/doap#name>) 
|| sameTerm(?property, <http://rdfs.org/sioc/ns#name>) 
|| sameTerm(?property, <http://www.holygoat.co.uk/owl/redwood/0.1/tags/name>) 
|| sameTerm(?property, <http://linkedgeodata.org/vocabulary#name>) 
|| sameTerm(?property, <http://www.geonames.org/ontology#name>) 
|| sameTerm(?property, <http://www.w3.org/2000/01/rdf-schema#label>) 
|| sameTerm(?property, <http://xmlns.com/foaf/0.1/accountName>) 
|| sameTerm(?property, <http://xmlns.com/foaf/0.1/nick>) 
|| sameTerm(?property, <http://xmlns.com/foaf/0.1/surname>) 
|| sameTerm(?property, <http://www.w3.org/2004/02/skos/core#altLabel>))} 
;

oder (ca 400 ms)
sparql 
SELECT ?__resource ?property ?value
FROM <http://dbpedia.org>
WHERE {
?__resource ?property ?value . 
FILTER(
(?__resource in ( <http://dbpedia.org/resource/Hundred_Years%27_War> 
, <http://dbpedia.org/resource/Battle_of_Bir_Hakeim>
, <http://dbpedia.org/resource/Battle_of_Gazala> 
, <http://dbpedia.org/resource/Operation_Crusader> 
, <http://dbpedia.org/resource/Korean_War> 
, <http://dbpedia.org/resource/Operation_Enduring_Freedom>
, <http://dbpedia.org/resource/Vietnam_War>
, <http://dbpedia.org/resource/Battle_of_the_Somme>
, <http://dbpedia.org/resource/Battle_of_Verdun>
, <http://dbpedia.org/resource/Meuse-Argonne_Offensive>))).
FILTER(
(?property in ( <http://www.w3.org/2004/02/skos/core#prefLabel> 
, <http://purl.org/dc/elements/1.1/title>
, <http://purl.org/dc/terms/title>
, <http://swrc.ontoware.org/ontology#title>
, <http://xmlns.com/foaf/0.1/name>
, <http://usefulinc.com/ns/doap#name>
, <http://rdfs.org/sioc/ns#name>
, <http://www.holygoat.co.uk/owl/redwood/0.1/tags/name>
, <http://linkedgeodata.org/vocabulary#name>
, <http://www.geonames.org/ontology#name>
, <http://www.w3.org/2000/01/rdf-schema#label>
, <http://xmlns.com/foaf/0.1/accountName>
, <http://xmlns.com/foaf/0.1/nick>
, <http://xmlns.com/foaf/0.1/surname>
, <http://www.w3.org/2004/02/skos/core#altLabel>)))

;



 
There are no files on this page. [Display files/form]
There is no comment on this page. [Display comments/form]

Information

Last Modification: 2009-12-10 19:35:25 by Sebastian Hellmann