StatistikStadtZuerich / ld.stadt-zuerich.ch

Linked Data Instance of the Municipality of Zurich
Other
1 stars 0 forks source link

Die Wildcard-Suche stimmt m.E. so nicht.: http://ld.stadt-zuerich.ch/sparql/ #21

Closed MatthiasGuenter closed 6 years ago

MatthiasGuenter commented 6 years ago

SPARQL-Query:

`PREFIX qb: http://purl.org/linked-data/cube# PREFIX skos: http://www.w3.org/2004/02/skos/core# PREFIX rdfs: http://www.w3.org/2000/01/rdf-schema# SELECT * WHERE { GRAPH https://linked.opendata.swiss/graph/zh/statistics { ?obs rdfs:label ?label.

=>>> Wo "Tiere" steht Suchbegriff eingeben. * lassen.

FILTER regex(?label, "Alter*") } } LIMIT 100`

Warum kommt "Alteisen, Metalle" als Suchresultat zurück?

Der Stern scheint einen Buchstaben zu verschlucken in der Suche. Wenn ich nach "Alteri*" suche, dann sind nur die Alters drin

PS: *Tier* funktioniert nicht

MatthiasGuenter commented 6 years ago

Wird sowieso neu gemacht.

ktk commented 6 years ago

Das ist effektiv ein Problem, wir verwenden * falsch. Laut SPARQL 1.1 respektive XPath Regex Syntax ist dies "zero or more times", sprich der letzte Buchstaben kann, aber muss nicht vorkommen. Den Effekt den wir wollten wäre korrekterweise ein +, was laut Spec "one or more times" ist.

@mchlrch könntest Du das beim Tag API noch anpassen im Template?

mchlrch commented 6 years ago

@ktk Zurzeit kleben wir bei der Vorschlagssuche nur ein '^' vor den eingegebenen String, um auf den Anfang des Tags zu matchen, Wildcards fügen wir sonst keine hinzu.

ktk commented 6 years ago

Ah ok, dann schliesse ich hier mal und wir schauen später was wir erweitern. BTW @mchlrch wir könnten später auch noch den Lucene Index verwenden, das ist allerdings dann Stardog-propiertär: https://www.stardog.com/docs/#_integration_with_sparql

MatthiasGuenter commented 6 years ago

@ktk Wieder mal Regex :-)