[
http://jira.nuxeo.org/browse/NXP-1348?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=45015#action_45015
]
Stéfane Fermigier commented on NXP-1348:
----------------------------------------
Do we still need this ?
> Implement where clause joining of resources
> -------------------------------------------
>
> Key: NXP-1348
> URL: http://jira.nuxeo.org/browse/NXP-1348
> Project: Nuxeo Enterprise Platform
> Issue Type: Task
> Components: Query / Search
> Reporter: Georges Racinet
> Assignee: Julien Anguenot
> Fix For: 5.2 M3
>
>
> We now need to have the Search Service handle some cross-searches in a
> transparent way.
> All resource/field names and values in this (herm) specification are provided
> as samples and will depend on applicative context and/or configuration in
> real-life cases/
> principle: for now, the search service is a document centric engine: search
> queries are primarily about documents and return documents.
> first consequence: we don't need to change the SELECT and FROM clauses
> behaviours, everything will happen in the WHERE clause.
> We'll have new queriable resources, that aren't directly about documents (as
> opposed to the existing schema and doc. builtin resources)
> Example: in relations, there is a resource for each graph. They have to be
> thought of as separate tables, so of course one can write WHERE fragments
> about them, like this:
> (1) ... AND relationGraph:predicateUri="http://test.com/dependson" ...
> this adds the condition for matching relations from relationGraph that the
> predicate (identified by its URI)
> The join (document binding) is made like this:
> (2) ... AND ecm:qid=relationGraph:object ...
>
> of course both sides have to be directly comparable.
> which says that the "object" field (also a builtin relation field) has to
> be equal to the value of ecm:id and therefore will
> The above document-centric principle dictates that:
> - without a join, the non-doc clauses are ignored
> - without explicit pure document where clauses, the referred document
> is the returned document. Example:
> (3) SELECT * FROM Workspace WHERE relationGaph:subject=ecm:qid
> this returns all documents whose type extends Workspace that are
> subject of a relation from "relationGraph".
> Simplicity and lack of time dictates that top-level branches in the WHERE
> clause logical tree are either
> - join clauses. These have to stay as simple as in example (2) above
> - pure in the sense that they deal about one single type of resource
> (documentary, relation, audit). These can be complex boolean clauses as
> before.
> Note: n-fold joins are supported, provided that they make up a star shaped
> graph centered on the document. In other words: no transversal join, no
> isolated non-doc resources. Random behaviour can happen otherwise.
> Implementation detail is left to the backend.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.nuxeo.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
ECM-tickets mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets