Quick Reference

Retrieve data from the Technopedia database by making HTTP requests to the Technopedia endpoints.

Base URL for API queries: https://data.technopedia.com/

For example, the following examples show a cURL and a GET request:

curl -G -H "Authorization: Bearer <API_KEY>" "https://data.technopedia.com/tql" --data-urlencode "q=<TQL Query>"

GET https://data.technopedia.com/tql?q=<TQL Query>

TQL endpoint

The following examples show the endpoint and a query example:

GET https://data.technopedia.com/tql?q=<TQL Query>
GET https://data.technopedia.com/tql?q=MATCH (n:ASSET) RETURN n LIMIT 5

Technopedia ID endpoint

The following examples show the endpoint and a query example:

GET https://data.technopedia.com/technopedia-id/<Technopedia ID>
GET https://data.technopedia.com/technopedia-id/f3f988ff-eb17-4830-95ef-ed1d78c1ac33

Software mapping endpoint

POST https://data.technopedia.com/mapping/software
Submit the JSON object in the body of the HTTP POST request to return a Technopedia ID when data is matched.

{
   "title": "<value>",
   "version": "<value>",
   "manufacturer": "<value>"
}

Hardware mapping endpoint

POST https://data.technopedia.com/mapping/hardware
Submit the JSON object in the body of the HTTP POST request.

{
   "title": "<value>",
   "model": "<value>",
   "manufacturer": "<value>"
}

Nodes

Nodes represent asset data, for example, the ASSET node represents software, hardware, and CPU asset data, and the OWNER node represents the owner or manufacturer of an asset.

Node attributes

Node attributes can be referenced by class, type, or more granular attributes such as title or version.

Class attributes

Use the class attribute in ASSET node queries only to filter by software, hardware, or CPU.
Class: Software, Hardware, CPU

Type attributes

Use the type attribute in ASSET node queries to further refine the software, hardware, or CPU classes in queries.
Type attributes for the Software class: Product, Version, Edition, Release, Component, Family
Type attributes for the Hardware class: Model, Product
Type attribute for the CPU class: Model


Every type attribute has more granular attributes, which are child attributes that you use to refine your queries.

Software Attributes

Software attributes are properties of nodes and they are used to define software assets.

Class AttributeSoftware Type AttributesAttributes of Software Type Attributes
SoftwareProductowner, technopedia_id, product, title, type, is_suite class, url
Versionowner, product, version_order title, type version, technopedia_id is_major, version_group class
Editionowner, product, edition title, type, technopedia_id, component, edition_order, family, class
Releaseclass, type, owner, release, family, product, component, version, version_order, version_group, edition, edition_order, title, is_major
Componentclass, type, owner, family, product, component, title
Familyclass, owner, family, technopedia_id, title, type,
url

Return software products
MATCH (a:ASSET {class: 'Software', type: 'Product'}) RETURN a

Return software products for 'Mia Quality'.
MATCH (a:ASSET {class: 'Software' , type: 'Product', product: 'Mia-Quality'}) RETURN a

Hardware Attributes

Hardware attributes are properties of nodes and they are used to define hardware assets.

Class AttributeHardware Type AttributesAttributes of Hardware Type Attributes
HardwareProductclass, owner, product, technopedia_id, title, type
Modelowner, product, title, type,
url, technopedia_id, model, class

Return hardware products.
MATCH (n:ASSET {class: 'Hardware', type: 'Product'}) RETURN n

Return hardware models that contain '636' in the model name.
MATCH (n:ASSET {class: 'Hardware', type: 'Model'}) WHERE n.model CONTAINS '636' RETURN n

CPU Attributes

CPU attributes are properties of nodes and they are used to define hardware assets.

Class AttributeCPU Type AttributeAttributes of CPU Type Attribute
CPUModelclass, owner, clock_rate, title, type, isa_bit_mode, url, num_threads, technopedia_id, cores,

Return data for CPUs that have a clock rate of 2400.
MATCH (n:ASSET {class: 'CPU', type: 'Model', clock_rate: 2400}) RETURN n LIMIT 2

Owner Node Attributes

Owner node attributes are properties of nodes and they are used to define Owner data.

Owner Type AttributeAttributes of Manufacturer Type Attribute
Manufacturercity, country, email, owner, fiscal_end_date, legal, technopedia_id,
website, revenue, state, tier, legal, type, website,

Return manufacturer data where the owner name contains 'Micros'.
MATCH (n:OWNER) WHERE n.owner CONTAINS 'Micros' RETURN n

TQL Queries

Use TQL (Technopedia Query Language) to query the Technopedia database.
To use the MATCH statements in the following examples, you add the MATCH statement to the following /tql endpoint and make a GET request from an API client or use cURL.

https://data.technopedia.com/tql?q=<MATCH Statement>

TQL QueriesTQL Match Statements
Return assets from TechnopediaMATCH (alias:ASSET) RETURN alias
Return owner data from TechnopediaMATCH(alias:OWNER) RETURN alias
Return any 15 software assets.MATCH (alias:ASSET {class: 'Software'}) RETURN alias LIMIT 15
Return any 10 software versions.MATCH (alias:ASSET {class: 'Software', type: 'Version'}) RETURN alias LIMIT 10
Return software editions named 'Small Business'.MATCH (s:ASSET {type: 'Edition'}) WHERE s.edition = 'Small Business' RETURN s
or
MATCH (s:ASSET {type: 'Edition', edition: 'Small Business'}) RETURN s
Return Oracle products that have Database in their product name.MATCH (n:ASSET {class: 'Software', type: 'Product', owner: 'Oracle', product: 'Database'}) RETURN n limit 10
Return distinct editions of the product 'Photoshop'.MATCH (n:ASSET {class: 'Software', type: 'Release', product: 'Photoshop'}) RETURN DISTINCT n.edition, n.product limit 10
Return data for the Technopedia ID: 30873b4a-09a6-45bd-9990-ee3d0bf2eddbhttps://data.technopedia.com/technopedia-id/30873b4a-09a6-45bd-9990-ee3d0bf2eddb
Get data for software where the version order equals '6'.MATCH (n:ASSET {type: 'Version'}) WHERE n.version_order = '6' RETURN n LIMIT 25
Return release and product data for assets that contain '23' in the release name.MATCH (u:ASSET) WHERE u.release CONTAINS '23' RETURN u.release, u.product LIMIT 5
Return product data for the owner: Galitt.MATCH (n:OWNER {type:'Manufacturer', owner: 'Galitt'})-[:OWNS]->(x:ASSET) RETURN x LIMIT 1
Return data for software where family contains 'Infrastructure Suite' in the name.MATCH (R:ASSET {class: 'Software' , type: 'Family'}) WHERE R.family CONTAINS 'Infrastructure Suite' RETURN R LIMIT 5
Return data for software that has 'Workstation' in the component name.MATCH (x:ASSET {type: 'Component'}) WHERE x.component CONTAINS 'Workstation' RETURN x LIMIT 5
Return software editions where the software edition_order is equal to '2'.MATCH (a:ASSET {class: 'Software' , type: 'Edition'}) WHERE a.edition_order = 2 RETURN a
Return software release data where the edition order is equal to one.MATCH (a:ASSET {type: 'Release'}) WHERE a.edition_order = 1 RETURN a LIMIT 10
Return software versions in ascending order.MATCH (n:ASSET {type: 'Version'}) RETURN n.version ORDER BY n.version ASC LIMIT 10

TQL Clauses

ClausesQuery Examples
MATCHMATCH (n:ASSET {class: 'Software'}] RETURN n LIMIT 1
RETURNMATCH (n:ASSET {class: 'Software'}] RETURN n LIMIT 1
WHEREMATCH (n:ASSET {class: 'Software', type: 'Product'}) WHERE n.product = 'Office' RETURN n LIMIT 1
ANDMATCH (n:ASSET {class: 'Software', type: 'Product'}) WHERE n.product = 'Office' AND n.family = "HealthMatics" RETURN n LIMIT 5
ORMATCH (n:ASSET {class: 'Software', type: 'Product'}) WHERE n.product = 'Office' OR n.family = "HealthMatics" RETURN n LIMIT 5
LIMITMATCH (n:ASSET) RETURN n LIMIT 25
CONTAINSMATCH (n:ASSET {class: 'Software', type: 'Product'}) WHERE n.product CONTAINS "Microsoft" RETURN n LIMIT 10
DISTINCTMATCH (n:ASSET {class: 'Software', type: 'Product'}) WHERE n.product CONTAINS 'Exchange Server' RETURN DISTINCT n
COUNTMATCH (n:ASSET {type: 'Version'}) RETURN COUNT (*)
ASMATCH (n:ASSET {type: 'Edition'}) RETURN n.edition AS MY_EDITIONS
ORDER BYMATCH (n:ASSET {type: 'Version'}) RETURN n.version ORDER BY n.version ASC LIMIT 10


MATCH (n:ASSET {type: 'Version'}) RETURN n.version ORDER BY n.version DESC LIMIT 10


MATCH (a:OWNER) return a.owner, a.symbol ORDER BY a.owner, a.symbol limit 20
SKIPMATCH (n:ASSET {class: 'Software', type: 'Product'}) RETURN n SKIP 10 LIMIT 20
IS NULLMATCH (a:ASSET) WHERE a.cores IS NULL RETURN a.cores LIMIT 1
IS NOT NULLMATCH (a:ASSET) WHERE a.cores IS NOT NULL RETURN a.cores LIMIT 1

TQL Operators

OperatorsQuery Examples
=MATCH (n:ASSET {class: 'Software', type: 'Product'}) WHERE n.product = 'VIVANT' RETURN n LIMIT 10
~MATCH (n:ASSET {class: 'Software', type: 'Product'}) WHERE n.product ~= 'VIvanT' RETURN n LIMIT 10
Add a (~) before the equals (=) to make the query case insensitive.
<>MATCH (n:ASSET {class: 'Software', type: 'Product'}) WHERE n.product <> 'VIVANT' RETURN n LIMIT 10
>MATCH (eol:ASSET) WHERE eol.support_end_of_life_date > '2017-01-01' RETURN eol LIMIT 2
<MATCH (eol:ASSET) WHERE eol.support_end_of_life_date < '2017-01-01' RETURN eol LIMIT 2
<=MATCH (eol:ASSET) WHERE eol.support_end_of_life_date >= '2017-01-01' RETURN eol LIMIT 2

Relationships

Relationships connect nodes and enable you to query related asset data from two or more nodes in Technopedia.

  • OWNS

    Connects Owner and Asset data.
    (OWNER)-[:OWNS]->(:ASSET)
    MATCH (product:ASSET)<-[:OWNS]-(owner:OWNER) Return product, owner

    For the manufacturer 'Electronic Arts', get owner data and products data.
    MATCH (n:OWNER {type:'Manufacturer', owner: 'Electronic Arts'})-[:OWNS]->(x:ASSET) RETURN DISTINCT x, n LIMIT 1

  • CLASSIFIED_AS

    Get the Category 2 classification for an Asset, for example, the asset Excel is classified as a
    Spreadsheet under category two.
    (ASSET)-[:CLASSIFIED_AS]->(:CATEGORY_2)

  • BELONGS_TO

    Connects Category 2 to Category 1, and Category 1 to Category group.
    (ASSET)-[:CLASSIFIED_AS]->(:CATEGORY_2)-(:BELONGS_TO)->(:CATEGORY_1)- (:BELONGS_TO)->(:CATEGORY_GROUP)

    For a product named 'Fan', get asset, owner, category one, and category two data.
    MATCH (c1:CATEGORY_1)<-[:BELONGS_TO]-(c2:CATEGORY_2)<-[:CLASSIFIED_AS]- (a:ASSET)<-[:OWNS]-(o:OWNER) where a.product = 'Fan' RETURN a, c2, c1, o limit 2

  • MEMBER_OF

    Use to retrieve the Vertical classification of an Asset.
    (:ASSET)-[:MEMBER_OF]->(:VERTICAL)

    Return assets with 'Workbench' in their product title and include the CATEGORY_2 classification
    details.
    MATCH (x:ASSET {type: 'Product'})-[:CLASSIFIED_AS]->(c:CATEGORY_2) WHERE x.title CONTAINS 'Workbench' RETURN x, c LIMIT 5

Updated about a year ago

Quick Reference


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.