otto.de - bardzo dziwne filtrowanie danych

0

Witam
Czy ktoś rozpoznaje, czy to jest jakiś framework, czy otto zrobiło swój "silnik" do filtrowania danych? Dziwnie to wygląda, ale ciekawe rozwiązanie.
Przykładowy link

https://www.otto.de/?selektion=(und.(ist.farbe.rot).(ist.sortiment.technik-zubehoer).(ist.zielgruppe._).(ist.zubehoerfuer.smartphones).(sind.kategorien.huellen.smartphone-huellen.smartphone-sleeves).(~.(v.1)))
0

Na tylko programistow to na pewno maja swoj silnik.

0

Jak dla mnie gest rozpaczy (przy czym nie mam na myśli języka niemieckiego, zanieczyszczonego angielskim do granic niezrozumiałości, ale to inna rzecz)

Pomysł w pierwszej wersji - tak sądzę - się wydawał prosty i naturalny (funkcja und = and itd całkiem fajne) , ale potem pojechały poprawki "z rozpaczy" jak znaczek podłoga, który ma tajemną rolę, tylda.
Trochę nadmiar nawiasów, jak w LISPie

Zgaduję, ze skoro jest funkcja und = i, to jest funkcja oder= lub, to by było ciekawe, bo tradycyjny url encoding silnie preferuje koniunkcję (tzn nie ma gotowej formy wyrażenia alternatywy)

Tę samą logikę z funkcjami und=i, ist=jest, sind=są dało by się zakodować w JSON
Troszke podobną logikę (na abstrakcyjnym poziomie) widziałem w przykładach GraphQL

0

Mnie się wydaje, że taki zapis ist.zielgruppe._ znaczy wszystko co jest zielgruppe, wszystkie grupy, nie jakaś konkretna

0
AdamWox napisał(a):

Mnie się wydaje, że taki zapis ist.zielgruppe._ znaczy wszystko co jest zielgruppe, wszystkie grupy, nie jakaś konkretna

Tak ???? może, nie kłócę się

... ale dla mnie to element jak z języka human-readable (ok, german-human-readable, zwei Bier itd ) się ratuje tydzień przed deadline, psując pierwszą idę (być może pierwotna idea human-readable nigdy nie miała szans, ale tego nikt sobie nie powiedział)

Może faktycznie pomysłodawca w młodosci czytywał kod LISP-a
Kropka ma tutaj przerośniętą rolę, jest zwykłym separatorem, jakby twardą spacją, ale również kilku funkcyjnym operatorem. I to jest d/d

@AdamWox: poczytaj / posłuchaj jakiejś ewangelizacji z GraphQL

0

Wydawało mi się, że to jest jakiś framework. W .NET jest OData i też ma swoją "specjalną" składnie. To się wydaje być troszkę przekombinowane, ale najwyraźniej działa.

1
AdamWox napisał(a):

Wydawało mi się, że to jest jakiś framework. W .NET jest OData i też ma swoją "specjalną" składnie. To się wydaje być troszkę przekombinowane, ale najwyraźniej działa.

Czy jest "jakiś" framework ... na pewno.
jeśli przyłożyć do języków / syntaxów klucz "świadomie i perspektywicznie zaplanowane" vs "potrzymaj mi piwo" (tu PHP, JS) - tu jest taki od piwa

W optymistycznym wariancie czytam w tym serializację (totalnie nieprtofesjonalną) wyrażenia w jakims hipotetycznym języku DSL (nie takim złym)

und( ist(farbe "rot"), ist(sortiment("technik zubehor") ...

Odnoszę się do inspiracji nt pisania DSL w Groovym, czemu kiedyś kibicowałem *). Tam było przenikanie się notacji kropkowej z tablicową (~= proertisy), coś.krowa vs coś["krowa"]
możliwe stringi odarte z pazurków, odzywają się we mnie niektóre wspomnienia.
Jak sobie na skrypty gradle wstecznie nałożycie (opuszczone bo opcjonalne) nawiasy, przecinki i pazurki, to intelektualnie to dość podobne

*) Groovy zasłużył na większa karierę niz odniósł niewiele ponad Gradle, Ratpack i Grails

1 użytkowników online, w tym zalogowanych: 0, gości: 1