Triple store query translate results in a query that mirrors what is described in this document:
http://www.w3.org/2002/05/24-RDF-SQL/
The noMappingTranslate works with equivalence based queries. Here is an example of a query with a ‘nested’ type:
{
"sortBy":"hasDateLastModified",
"hasServiceRequestStatus":"*",
"atAddress":{
"Street_Name":"1ST",
"type":"Street_Address"
},
"currentPage":1,
"sortDirection":"desc",
"type":"Garbage_Missed_Complaint",
"hasDateCreated":"06/14/2011",
"itemsPerPage":20
}
The query translator translates this to:
SELECT CIRM_CLASSIFICATION.SUBJECT
FROM CIRM_CLASSIFICATION
JOIN CIRM_OWL_OBJECT_PROPERTY ON CIRM_OWL_OBJECT_PROPERTY.SUBJECT = CIRM_CLASSIFICATION.SUBJECT
JOIN CIRM_OWL_DATA_PROPERTY ON CIRM_OWL_DATA_PROPERTY.SUBJECT = CIRM_CLASSIFICATION.SUBJECT
WHERE (CIRM_CLASSIFICATION.OWLCLASS = ?)
OR (CIRM_OWL_OBJECT_PROPERTY.PREDICATE = ?)
OR (CIRM_OWL_OBJECT_PROPERTY.PREDICATE = ? AND CIRM_OWL_OBJECT_PROPERTY.OBJECT IN ( SELECT CIRM_CLASSIFICATION.SUBJECT
FROM CIRM_CLASSIFICATION
JOIN CIRM_OWL_DATA_PROPERTY ON CIRM_OWL_DATA_PROPERTY.SUBJECT = CIRM_CLASSIFICATION.SUBJECT
WHERE (CIRM_CLASSIFICATION.OWLCLASS = ?)
OR (CIRM_OWL_DATA_PROPERTY.PREDICATE = ? AND TO_CHAR(CIRM_OWL_DATA_PROPERTY.VALUE) = '1ST') ) )
OR (CIRM_OWL_DATA_PROPERTY.PREDICATE = ? AND TO_CHAR(CIRM_OWL_DATA_PROPERTY.VALUE) = '06/14/2011')
Parameters:
1 = 181()
2 = 191()
3 = 194()
4 = 182()
5 = 184()
6 = 185()
Here is a list of functions and operators that the query translator supports:
Function/Operator Translation Sample JSON property expression
greaterThan SQL GREATER THAN "hasDateCreated":"greaterThan(\"2011-06-15T19:18:06.552Z\")"
lessThan SQL LESS THAN "hasDateCreated":"lessThan(\"2011-06-15T19:18:06.552Z\")"
like SQL LIKE With '%' post append "hasName": "like(\"Zues\")"
between SQL BETWEEN "hasDateCreated":"between(\"2011-06-15T19:18:06.552Z\",\"2011-06-15T19:18:06.552Z\")"
*contains
*in
*startsWith
*notLike
= SQL EQUALS "hasName": "= \"Zues\""
>= SQL GREATER THAN OR EQUAL "hasCount": ">= 1"
<= SQL LESS THAN OR EQUAL "hasCount": "<= 1"
> SQL GREATER THAN "hasCount": "> 1"
< SQL GREATER THAN "hasCount": "< 1"
Note: Literal Values are translated to an equals operation on the SQL side.
* Incomplete. Expression parsing is there but translation is incomplete.
http://www.rctophobby.com
No Oil Residue
EASY TO START AND STOP. Does not require special start-up equipment.
Can be flown indoors.
Less maintenance than fuel powered engines.
(....\................/....)
ReplyDelete.\....\............../..../
..\....\............/..../
...\..../′ˉ.|.ˉ`\..../
..../... |....|..(ˉˉˉ`\
...|.....|....|...ˉˉ.\...\
...|.....|′ˉ.|′ˉ.|...\...)
...\.....` ˉ..ˉ ′......./
....\_________./
.....|-_-_-_-_-_-|
.....|-_-_-_-_-_-|
rctophobby.com