Skip to content

๐Ÿˆ‚๏ธ A DSL for querying the ACM Digital Library

Notifications You must be signed in to change notification settings

jaffreyjoy/dlql

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

13 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

dlql

A DSL to query the ACM digital library

How to Run

The query can be modified in src/query.rkt and then run:

racket main.rkt

If the query is valid it would open the result of the query in a chrome window.

To change the browser in which you want the results to be displayed, change the path string assigned to the browser-bin-path variable in the src/main.rkt.

Example

An example query would look like:

'(  (
    [define-query func-lambda-church
        (conj (abstract
                (disj "functional"
                    "lambda calculus"))
            (author (conj "church"))
        )
    ]
    [define-query term-klop
        (conj (abstract
                (disj "term rewriting"))
            (author (conj "klop"))
        )
    ]
    )
    (run-query (disj func-lambda-church term-klop))
)

Grammar

Program Expression

;;  <exp> ::= ((<list-of-define-query>) <run-stmt>)
;;
;;  <list-of-define-query> := 
;;                          | (define-query <symbol> <query>) <list-of-define-query>
;;
;;  <run-stmt> ::= (run-query <query>)

Query Expression

;;  <query> ::= <symbol>
;;            | (conj (<list-of-query>))
;;            | (disj (<list-of-query>))
;;            | (<select-attr> (conj (<list-of-attr>)))
;;            | (<select-attr> (disj (<list-of-attr>)))
;;
;;  <list-of-query> ::= 
;;                   | <query> <list-of-query>
;;
;;  <list-of-attr> ::= 
;;                   | <attr> <list-of-attr>
;;
;;  <attr> ::= <string>

Select Attributes

;;  <select-attr> ::= paper-title
;;                  | pub-title
;;                  | author
;;                  | abstract
;;                  | full-text
;;                  | conf-location
;;                  | conf-sponsor
;;                  | isbn
;;                  | doi

About

๐Ÿˆ‚๏ธ A DSL for querying the ACM Digital Library

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages