Difference between revisions of "CTS2 RDF Plugin"

From NCBO Wiki
Jump to navigation Jump to search
 
(19 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
 
=== Known Issues ===
 
=== Known Issues ===
 +
* Unbound predicate queries are expensive to execute on the triple store, and CTS2 requires all Properties of a given subject to be displayed. This will cause all CTS2 Read services to have a delay in returning results.
 +
 +
All Read Services are executed by a SPARQL query similar to:
 +
 +
<code>
 +
<nowiki>
 +
<http://some/uri...> ?p ?o
 +
</nowiki>
 +
</code>
 +
 +
This ends up being a very expensive query to the triple store
 +
 
* URI Mismatch: Certain portions of the RDF Plugin utilize the NCBO REST service for searching. Sometimes, the URIs returned by the NCBO REST service are not identical to those int the triple store. This will manifest on Entity Read by Name queries.
 
* URI Mismatch: Certain portions of the RDF Plugin utilize the NCBO REST service for searching. Sometimes, the URIs returned by the NCBO REST service are not identical to those int the triple store. This will manifest on Entity Read by Name queries.
* Jena Local Name Parsing: Jena is used in the background for parsing the returned RDF. Given a URI like "http://purl.bioontology.org/ontology/RCD/7K6Ax", Jena will parse the "local part" of this URI as 'K6Ax' (notice the missing '7'). This may be a Jena bug. The only known example is:
+
 
{{CTS2_RDF_base}}/codesystem/RCD/version/RCD-42295/entity/RCD:7K6Ax
+
* URIs for Entities in Views: Some Entities in Views have different URIs then the resource in the actual code system. For instance
Notice how the 'name' part and the local part of the 'about' are out of sync.
+
 
* All Read Services are executed by a SPARQL query similar to:
+
{{CTS2_RDF_base}}valueset/SNOMED-ETHNIC-GROUP/definition/SNOMED-ETHNIC-GROUP-43057/resolution/43057
 +
 
 +
refers to a SNOMEDCT Entity, but Entities have URIs starting with:
 +
 
 
<code>
 
<code>
<http://some/uri...> ?p ?o
+
<nowiki>
 +
http://purl.bioontology.org/ontology/SNOMED-Ethnic-Group#
 +
</nowiki>
 
</code>
 
</code>
Unbound predicate queries are expensive to execute on the triple store, and CTS2 requires all Properties of a given subject to be displayed
 
  
 
=== CodeSystemCatalogQuery ===
 
=== CodeSystemCatalogQuery ===
* Query: {{CTS2_RDF_base}}codesystems
+
* Query: {{CTS2_RDF_base}}codesystems?maxtoreturn=10
* Query with 'name' filter: {{CTS2_RDF_base}}codesystems?matchvalue=nci&filtercomponent=resourceName
+
* Query with 'name' filter: {{CTS2_RDF_base}}codesystems?matchvalue=go&filtercomponent=resourceName
 
* Query with 'description' filter: {{CTS2_RDF_base}}codesystems?matchvalue=databases&filtercomponent=resourceSynopsis
 
* Query with 'description' filter: {{CTS2_RDF_base}}codesystems?matchvalue=databases&filtercomponent=resourceSynopsis
 
* Get CodeSystems With Specified Limit: http://informatics.mayo.edu/cts2/services/bioportal-rdf/codesystems?maxtoreturn=5
 
* Get CodeSystems With Specified Limit: http://informatics.mayo.edu/cts2/services/bioportal-rdf/codesystems?maxtoreturn=5
Line 42: Line 58:
 
* Query with 'description' {{CTS2_RDF_base}}entities?matchvalue=swelling
 
* Query with 'description' {{CTS2_RDF_base}}entities?matchvalue=swelling
 
* Get all entities of code system version: {{CTS2_RDF_base}}codesystem/AIR/version/AIR-42298/entities
 
* Get all entities of code system version: {{CTS2_RDF_base}}codesystem/AIR/version/AIR-42298/entities
* Query entities of code system version with 'keyword' filter: {{CTS2_REST_base}}codesystem/LNC/version/LNC_226_RRF/entities?matchvalue=100
+
* Get all entities of code system version by official version id: {{CTS2_RDF_base}}codesystem/LNC/version/232/entities
 +
* Query entities of code system version with 'keyword' filter: {{CTS2_RDF_base}}codesystem/LNC/version/232/entities?matchvalue=100
  
 
=== EntityDescriptionRead ===
 
=== EntityDescriptionRead ===
Line 51: Line 68:
 
=== ValueSetCatalogQuery ===
 
=== ValueSetCatalogQuery ===
 
* Query: {{CTS2_RDF_base}}valuesets
 
* Query: {{CTS2_RDF_base}}valuesets
* ValueSetCatalogQuery by Description (default) {{CTS2_RDF_base}}/valuesets?matchvalue=subtree
+
* ValueSetCatalogQuery by Description (default) {{CTS2_RDF_base}}valuesets?matchvalue=subtree
 
* Query with 'name' filter: {{CTS2_RDF_base}}valuesets?matchvalue=set&filtercomponent=resourceName
 
* Query with 'name' filter: {{CTS2_RDF_base}}valuesets?matchvalue=set&filtercomponent=resourceName
 
* Query with 'description' filter: {{CTS2_RDF_base}}valuesets?matchvalue=anatomy&filtercomponent=resourceSynopsis
 
* Query with 'description' filter: {{CTS2_RDF_base}}valuesets?matchvalue=anatomy&filtercomponent=resourceSynopsis
Line 58: Line 75:
 
=== ValueSetCatalogRead ===
 
=== ValueSetCatalogRead ===
 
* Read by name: {{CTS2_RDF_base}}valueset/SNOMEDCT-MAS
 
* Read by name: {{CTS2_RDF_base}}valueset/SNOMEDCT-MAS
 
+
* Read by uri {{CTS2_RDF_base}}valuesetbyuri?uri=http://bioportal.bioontology.org/ontologies/SNOMEDCT-TF
 
+
* Read by uri with redirect {{CTS2_RDF_base}}valuesetbyuri?uri=http://bioportal.bioontology.org/ontologies/SNOMEDCT-TF&redirect=true
  
 
=== ResolvedValueSetQuery ===
 
=== ResolvedValueSetQuery ===
 
* Get all ResolvedValueSets {{CTS2_RDF_base}}resolvedvaluesets
 
* Get all ResolvedValueSets {{CTS2_RDF_base}}resolvedvaluesets
 
* Get ResolvedValueSet {{CTS2_RDF_base}}valueset/SNOMEDCT-TF/definition/SNOMEDCT-TF-43049/resolution/43049
 
* Get ResolvedValueSet {{CTS2_RDF_base}}valueset/SNOMEDCT-TF/definition/SNOMEDCT-TF-43049/resolution/43049
* Get ResolvedValueSet {{CTS2_RDF_base}}valueset/SNOMEDCT-TF/definition/SNOMEDCT-TF-43049/resolution/43049?matchvalue=toe
+
* Get ResolvedValueSet (with filter) {{CTS2_RDF_base}}valueset/SNOMEDCT-TF/definition/SNOMEDCT-TF-43049/resolution/43049?matchvalue=toe
 
+
* Get ResolvedValueSet entities {{CTS2_RDF_base}}valueset/SNOMEDCT-TF/definition/SNOMEDCT-TF-43049/resolution/43049/entities
 
+
* Get ResolvedValueSet entities (with filter) {{CTS2_RDF_base}}valueset/SNOMEDCT-TF/definition/SNOMEDCT-TF-43049/resolution/43049/entities?matchvalue=toe
  
 
=== AssociationQuery ===
 
=== AssociationQuery ===

Latest revision as of 17:30, 11 June 2012

CTS2 REST Services

Known Issues

  • Unbound predicate queries are expensive to execute on the triple store, and CTS2 requires all Properties of a given subject to be displayed. This will cause all CTS2 Read services to have a delay in returning results.

All Read Services are executed by a SPARQL query similar to:

<http://some/uri...> ?p ?o

This ends up being a very expensive query to the triple store

  • URI Mismatch: Certain portions of the RDF Plugin utilize the NCBO REST service for searching. Sometimes, the URIs returned by the NCBO REST service are not identical to those int the triple store. This will manifest on Entity Read by Name queries.
  • URIs for Entities in Views: Some Entities in Views have different URIs then the resource in the actual code system. For instance

http://informatics.mayo.edu/cts2/services/bioportal-rdf/valueset/SNOMED-ETHNIC-GROUP/definition/SNOMED-ETHNIC-GROUP-43057/resolution/43057

refers to a SNOMEDCT Entity, but Entities have URIs starting with:

http://purl.bioontology.org/ontology/SNOMED-Ethnic-Group#

CodeSystemCatalogQuery

CodeSystemCatalogRead

CodeSystemCatalogVersionQuery

CodeSystemVersionCatalogRead

EntityDescriptionQuery

EntityDescriptionRead

ValueSetCatalogQuery

ValueSetCatalogRead

ResolvedValueSetQuery

AssociationQuery