Browse Source

remove old mapping

master
wes 7 years ago
parent
commit
e8548eedd0
  1. 1
      course.json
  2. 19
      course_mapping.rkt
  3. 69
      schemadsl.rkt

1
course.json

@ -1 +0,0 @@
{"course":{"properties":{"textbooks":{"properties":{"author":{"type":"string","index":"analyzed"},"title":{"type":"string","index":"analyzed"},"price":{"type":"string","index":"analyzed"}}},"sections":{"properties":{"sem":{"type":"string","index":"not_analyzed"},"title":{"type":"string","index":"analyzed"},"prof":{"type":"string","index":"analyzed"},"loc":{"type":"string","index":"analyzed"},"time":{"type":"string","index":"analyzed"},"day":{"type":"string","index":"analyzed"}}}}}}

19
course_mapping.rkt

@ -1,19 +0,0 @@
#! /usr/bin/racket
#lang racket
(require "schemadsl.rkt")
(displayln
(make-mapping
"course"
`(,(estruct "sections"
`(,(str "title")
,(str "time")
,(str "loc")
,(str "prof")
,(atom "sem")
,(str "day")))
,(estruct "textbooks"
`(,(str "title")
,(str "author")
,(str "price"))))))

69
schemadsl.rkt

@ -1,69 +0,0 @@
#lang racket
(require json)
(define (root name type)
`(,name type))
(define ((prop
type
[index "analyzed"])
name)
(define prop-hash (make-hash))
(hash-set! prop-hash (string->symbol name)
`#hash(
(type . ,type)
(index . ,index)))
prop-hash)
(define ((dict name) ps)
(let ([prop-vals (make-hash)]
[props-hsh (make-hash)])
(for ([p ps])
(hash-set! prop-vals
(car p)
(cdr p)))
(hash-set! props-hsh name prop-vals)
props-hsh))
(define (props ps)
(define props-hash (make-hash))
(for ([p ps])
(match p
[(hash-table (k v))
(hash-set! props-hash k v)]))
`#hash((properties . ,props-hash)))
(define str (prop "string"))
(define atom (prop "string" "not_analyzed"))
(define num (prop "integer"))
(define date (prop "date"))
(define bool (prop "boolean" "not_analyzed"))
(define (dictprop name d)
(define dict (make-hash))
(hash-set! dict name d)
dict)
(define (estruct name pairs)
(define estr (make-hash))
(hash-set! estr
(string->symbol name)
(props pairs))
estr)
(define (make-mapping
type
decl)
(define mapping (make-hash))
(hash-set! mapping
(string->symbol type)
(props decl))
(jsexpr->string mapping))
(provide
(all-defined-out))
Loading…
Cancel
Save