This wiki is locked. Future workgroup activity and specification development must take place at
our new wiki
. For more information, see
this blog post about the new governance model
and
this post about changes to the website
.
TWiki
>
Main Web
>
PmHome
>
MetricsHome
>
MetricsEMS10ImplementationStatus
>
MetricsOslcQueryImplementation
(01 Mar 2011,
ArthurRyman
)
(raw view)
---+ OSLC Query 2.0 Implementation ---++ Introduction The [[OslcCoreSpecification][OSLC Core 2.0 specification]] defines query parameters and a [[OSLCCoreSpecQuery][Query syntax]] which we use in the EMS 2.0 REST API. This page contains information for implementers. Please post feedback to: [[mailto:oslc-core@open-services.net][oslc-core@open-services.net]] ---++ ANTLR Grammar ANTLR is a popular open source parser development technology. ANTLR defines grammars in a syntax that closely resembles the EBNF syntax used in the OSLC Core 2.0 specification. The following in an ANTLR grammar, [[http://open-services.net/pub/Main/MetricsOslcQueryImplementation/OslcSimpleQuery.g][OslcSimpleQuery.g]], for the query parameters defined in the [[OslcCoreSpecification][OSLC Core 2.0]] and [[OSLCCoreSpecQuery][OSLC Query 2.0]] specifications: <blockquote><verbatim>grammar OslcSimpleQuery; /* oslc.prefix */ oslc_prefix : 'oslc.prefix=' prefix_defs ; prefix_defs : prefix_def (',' prefix_def)* ; prefix_def : prefix '=' uri_ref_esc ; prefix : PN_PREFIX ; uri_ref_esc : URI_REF_ESC ; /* oslc.properties */ oslc_properties : 'oslc.properties=' properties ; properties : property (',' property)* ; property : (prefixedName | wildcard) ('{' properties '}')? ; wildcard : '*' ; prefixedName : prefix? colonLocalName ; colonLocalName : COLON_LOCAL_NAME ; /* oslc.select */ oslc_select : 'oslc.select=' properties ; /* oslc.where */ oslc_where : 'oslc.where=' compound_term ; compound_term : simple_term (space? boolean_op space? simple_term)* ; simple_term : term | scoped_term ; space : ' ' ; boolean_op : 'and' ; term : identifier_wc comparison_op value | identifier_wc space in_op space? in_val ; scoped_term : identifier_wc '{' compound_term '}' ; identifier_wc : identifier | wildcard ; identifier : prefixedName ; comparison_op : '=' | '!=' | '<' | '>' | '<=' | '>=' ; in_op : 'in' ; in_val : '[' value (',' value)* ']' ; value : uri_ref_esc | literal_value ; literal_value : boolean | decimal | string_esc (langTag | datatype)? ; string_esc : STRING_ESC ; langTag : LANG_TAG ; datatype : '^^' prefixedName ; boolean : 'true' | 'false' ; decimal : DECIMAL ; /* oslc.orderBy */ oslc_orderBy : 'oslc.orderBy=' sort_terms ; sort_terms : sort_term (',' sort_term)* ; sort_term : scoped_sort_terms | ('+' | '-') identifier ; scoped_sort_terms : identifier '{' sort_terms '}' ; /* oslc.searchTerms */ oslc_searchTerms : 'oslc.searchTerms=' search_terms ; search_terms : string_esc (',' string_esc)* ; /* lexer */ DECIMAL : ('+' | '-')? '0'..'9'+ ('.' '0'..'9'*)? | ('+' | '-')? '.' '0'..'9'+ ; LANG_TAG : '@' ('a'..'z' | 'A'..'Z')+ ('-' ('a'..'z' | 'A'..'Z' | '0'..'9')+)* ; STRING_ESC : '"' ('\\"' | '\\\\' | ~('"' | '\\'))* '"' ; URI_REF_ESC : '<' ('\\>' | '\\\\' | ~('>' | '\\'))* '>' ; COLON_LOCAL_NAME : ':' (PN_CHARS_U | '0'..'9') ((PN_CHARS | '.')* PN_CHARS)? ; PN_PREFIX : PN_CHARS_BASE ((PN_CHARS|'.')* PN_CHARS)? ; fragment PN_CHARS_BASE : 'A'..'Z' | 'a'..'z' | '\u00C0'..'\u00D6' | '\u00D8'..'\u00F6' | '\u00F8'..'\u02FF' | '\u0370'..'\u037D' | '\u037F'..'\u1FFF' | '\u200C'..'\u200D' | '\u2070'..'\u218F' | '\u2C00'..'\u2FEF' | '\u3001'..'\uD7FF' | '\uF900'..'\uFDCF' | '\uFDF0'..'\uFFFD' // | '\u10000'..'\uEFFFF' - not allowed in ANTLR ; fragment PN_CHARS_U : PN_CHARS_BASE | '_' ; fragment PN_CHARS : PN_CHARS_U | '-' | '0'..'9' | '\u00B7' | '\u0300'..'\u036F' | '\u203F'..'\u2040' ; </verbatim></blockquote> * [[%ATTACHURL%/OslcSimpleQuery.g][OslcSimpleQuery.g]]: ANTLR Grammar for OSLC Core 2.0 Query
Attachments
Attachments
Topic attachments
I
Attachment
Action
Size
Date
Who
Comment
g
OslcSimpleQuery.g
manage
2.9 K
23 Sep 2010 - 20:42
ArthurRyman
ANTLR Grammar for OSLC Core 2.0 Query
E
dit
|
A
ttach
|
P
rint version
|
H
istory
: r2
<
r1
|
B
acklinks
|
V
iew topic
|
Ra
w
edit
|
M
ore topic actions
Topic revision: r2 - 01 Mar 2011 - 18:34:43 -
ArthurRyman
Main
Main Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
Webs
Main
Sandbox
TWiki
Български
Cesky
Dansk
Deutsch
English
Español
Français
Italiano
日本語
Nederlands
Polski
Português
Русский
Svenska
简体中文
簡體中文
Copyright � by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Contributions are governed by our
Terms of Use
Ideas, requests, problems regarding this site?
Send feedback