CORDIS Search
Get the most out of CORDIS search
The CORDIS search interface allows you to:
- search with the filters available in the side menu
- search for the terms entered in the search box
- combine filters with search terms
- build your own search queries
Search with the filters menu
The filters menu available at the side of the search interface offers the most common filters for a general use.
Search for terms
You can perform a general search across core CORDIS fields using the search box at the top of the page, entering one or more search terms. This search will be carried out across all available languages.
The search engine tokenises the text in the general search so searching for words such as 'sustainable' would also match with terms such as 'sustain' , 'sustaining' , etc. when part of an English language record.
Due to the multilingual nature of CORDIS records English terms can be found inside non-English records where they are tokenised differently. For example in French searching for 'sustainable' will return results for 'sustainable' or 'sustainabl'.
When entering multiple words, the search treats each word as a separate search term. For example, searching for sustainable agriculture searches for records containing both 'sustainable' AND 'agriculture' within the core searchable fields with the same tokenisation as above.
To search for an exact phrase enclose the words in quotes: 'sustainable agriculture'. Whilst double quotes will work they will be converted to single quotes by the system.
Exact phrase searches carried out in the general search are still tokenised, so searching for 'sustainable agriculture' is equivalent to 'sustain agricultur' in English or 'sustainabl agricultur' in French.
This tokenisation avoids the need to use wildcard characters in a general text search, with wildcards best reserved for non-tokenised terms such as IDs.
Wildcards can be used to search for patterns within indexed terms. The supported wildcard characters are the asterisk * and the question mark ?:
* matches zero or more non-space characters
? matches exactly one non-space character
Whilst searching for educat* will match any word starting with educat, such as educate, educated, education, educational, or educator, as wildcard searches are not tokenised, they will not always match with tokenised terms. For this example education and educates are stemmed to educ so the use of the wildcard will reduce the number of results. Wildcards in the general search are therefore best used for values such as IDs.
Combine filters with search terms
You can combine search filters with search terms entered in the search box. Your search terms will act as another filter added to your query.
For example, searching for projects in the field of embryonic stem cell research, you launch a search based on the following filters:
Collection: Projects
Field of Science: stem cells
You can further filter your search results by entering the embryonic keyword in the search box.
For filters such as Aconym or ID the terms are not tokenised. This will mean that term you enter will be searched for precisely as you type it meaning that wildcards will be more relevant.
Build your own search queries
Selecting 'Expert search' next to the search box will show the query generated for your search, in expert mode.
In this mode you can build searches based on the data structure and the query syntax, and you can enter your own search queries based on a combination of the following elements:
- Search terms
- Logical operators
- XPaths
Search terms
See above.
As well as a general text search, the expert search allows you to target specific fields. Whilst most fields are tokenised, as described above, some are not, allowing more precise searches when searching on the specific field.
The following fields are not tokenised:
- Projects: language, rcn, id, status, euroSciVoc
- Articles: language, rcn, id, issn, isbn, catalogueNumber, cellarId, issue
- Results: language, rcn, id
- Organisations: language, rcn, id, vatNumber
- Programme: language, rcn, id, cordaId, code, frameworkProgramme
- Call: identifier
Logical operators
With logical operators you can combine your search terms, or exclude a specific search term.
There are three operators that you can use: AND, OR, NOT, plus the () parentheses that are used to group terms together.
AND is the default operator between used entered terms and allows you to narrow your search to only retrieve results that include all items in a list
chemical AND electrical AND mechanical
OR allows you to broaden your search to retrieve results that include one or more items in a list
science OR scientist OR scientific
Many people incorrectly think the OR operator is an either/or operator (exclusive or), when in fact it is an and/or operator (inclusive or).
NOT (AND NOT) allows you to exclude terms you don't want to appear in your search results.
wood NOT plastic
This defaults to AND NOT but it can be combined with OR to return all results that either contain wood or do not contain the term plastic.
wood OR NOT plastic
If different operators are used in the same query, the search is processed according to this order of precedence: the NOT operator has the highest precedence, followed by the AND operator, followed by the OR operator.
() parentheses
You can always control (override) the operator precedence by enclosing your terms and their operators in parentheses. The information within parentheses is interpreted first, and then information outside the parentheses is interpreted next. Within each set of parentheses, operator precedence applies.
For example,
sustainable OR ecological AND farming finds all records in which both ecological and farming are present, as well as all records in which the word sustainable is present.
(sustainable OR ecological) AND farming finds all records in which the word farming is present together with either sustainable or ecological.
If there are nested parentheses (i.e. parentheses within parentheses), the search engine processes the most enclosed parenthetical expression first, then the next, and so on until the entire query has been interpreted. For example, ((rain OR shower) AND storm) OR rainstorm
XPaths
Whilst the search data is in JSON, CORDIS search uses XPaths for building searches. XPaths allow for the selection of nodes from an XML document. The queries that are generated when you search with the filters menu are based on XPaths.
For example, selecting the following filter values:
Collection: Results Packs, Results in Brief, News
Domain of Application: Climate Change and Environment
Language: English
will generate the query:
(/article/relations/categories/collection/code='resultsPack','brief','news') AND language='en' AND relations/categories/applicationDomain/code='env'
From the path to a specific node in the XML of a record, you can deduce the corresponding XPath and use it in your own queries.
You can use specific XPaths that are not available in the search filters menu, e.g.
Searching for closed projects:
/project/status=CLOSED
Searching for projects with validated EuroSciVoc categories:
/project/validation/euroSciVoc=true
Searching for projects that have a coordinator organisation with the ID 999979888:
/project/relations/associations/coordinator/organization/id='999979888'
Searching for projects having a partner organisation:
/project/relations/associations/partner/organization/id='*'
Searching for projects having a third party or an international partner organisation:
/project/relations/associations/thirdParty/organization/id='*' OR /project/relations/associations/internationalPartner/organization/id='*'
Searching for projects having a participant organisation with a "terminated" attribute:
/project/relations/associations/participant/organization/_ATTR_terminated='true'
The XPaths used by the different filters in the search interface are provided in the section: Quick guides - XPaths used in search filters.
Quick guides
Logical operators
| Operators | Description | Examples |
|---|---|---|
| AND | AND combines search terms so that each search result contains all of the terms. AND narrows your search. |
cancer AND treatment returns results that contain both cancer and treatment. cancer AND treatment AND therapy returns results that contain cancer, treatment, and therapy. |
| OR | OR combines search terms so that each search result contains at least one of the terms. OR broadens your search. |
doctorate OR degree returns results that contain doctorate and/or degree. |
| NOT | NOT excludes terms that you don't want to appear in your search results. NOT narrows your search. |
viruses NOT bacteria finds results that contain viruses but not bacteria. viruses AND NOT (bacteria OR fungi OR parasites) finds results that include viruses, without any mention of bacteria, fungi, and/or parasites. |
| =/== | For the EuroSciVoc code hierarchy. Allows you to include/exclude child categories. |
/project/relations/categories/euroSciVoc/code='/25' finds results with the EuroSciVoc parent 25 and all its children. /project/relations/categories/euroSciVoc/code=='/25' finds results with the EuroSciVoc with only the parent 25. |
Quotes
| Quotes | Description | Examples |
|---|---|---|
| ' ' | Use single quotes to search for items that match all of the search terms in the order entered. | 'circular economy' finds results that contain "circular economy". |
| " " | Double quotes have the same effect than single quotes. They are converted to single quotes by the system. | "circular economy" finds results that contain "circular economy". |
Wildcards
| Wildcards | Description | Examples |
|---|---|---|
| * | Matches zero or more non-space characters | educat* matches any word starting with educat, such as educate, educated, education, educational or educator Hof*man* matches Hofman, Hofmann, Hoffman, or Hoffmann |
| ? | Matches exactly one non-space character | organi?ation matches organization or organisation. organi?ation* matches organisation, organisations, organisational, organization, organizations, or organizational |
Parentheses
| Parentheses | Description | Examples |
|---|---|---|
| ( ) | Clauses in parentheses are executed before the other operators (NOT, AND, OR) and can therefore be used to modify the default precedence of operators. | In the query pollution OR environment AND water the AND operator is executed before the OR operator. Parentheses can be used to force the execution of the OR operator before the AND operator: (pollution OR environment) AND water Parentheses can be nested up to two levels: water AND ((wheel OR mill) AND NOT 'generators and turbines') The above query is equivalent to: water AND (wheel OR mill) AND NOT 'generators and turbines' |
XPaths used in search filters
| Filter | XPath |
|---|---|
| CONTENT Collection |
Projectscontenttype=project Results Packs /article/relations/categories/collection/code=resultsPack Projects Info Packs /article/relations/categories/collection/code=projectsInfoPack Synergy Packs /article/relations/categories/collection/code=synergyPack Results in brief /article/relations/categories/collection/code=brief News /article/relations/categories/collection/code=news Podcasts /article/relations/categories/collection/code=podcast Videos /article/relations/categories/collection/code=videoReport summaries /result/relations/categories/collection/code=pubsum Project deliverables /result/relations/categories/collection/code=deliverable Project publications /result/relations/categories/collection/code=publication Intelectual Property Rights /result/relations/categories/collection/code=ipr Programmes contenttype=programme |
| CONTENT Domain of application |
relations/categories/applicationDomain/code=[code] |
| CONTENT Language |
language=[lang] |
| CONTENT Programme |
relations/associations/programme/code=[code] |
| CONTENT Last updated |
From: contentUpdateDate>=[fromDate] To: contentUpdateDate<=[toDate] From – To: contentUpdateDate=[fromDate]-[toDate] |
| PROJECT Acronym / ID |
Project acronym/project/acronym=[acronym]Project ID /project/id=[id] |
| PROJECT Field of science |
/project/relations/categories/euroSciVoc/code=[code] |
| PROJECT Start/End date |
Start date From: startDate>=[fromDate] To: startDate<=[toDate] From – To: startDate=[fromDate]-[toDate]End date From: endDate>=[fromDate] To: endDate<=[toDate] From – To: endDate=[fromDate]-[toDate] |
| PROJECT Total cost |
From: /project/totalCost>=[fromValue] To: /project/totalCost<=[toValue] From – To: /project/totalCost=[fromValue]-[toValue] |
| PROJECT EU contribution |
From: /project/ecMaxContribution>=[fromValue] To: /project/ecMaxContribution<=[toValue] From – To: /project/ecMaxContribution=[fromValue]-[toValue] |
| PROJECT Call ID |
/project/relations/associations/relatedMasterCall/call/identifier=[id] |
| PROJECT Topic ID |
/project/relations/associations/relatedTopic/programme/code==[code] |
| ORGANISATION Organisation name |
organization/legalName=[name] OR organization/shortName=[name] |
| ORGANISATION Organisation country |
relatedRegion/region/euCode=[code] |
| ORGANISATION Organisation region |
region/nutsCode=[code] |