Difference between revisions of "CTS2 RDF Plugin"

From NCBO Wiki
Jump to navigation Jump to search
 
(16 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 <code><nowiki>http://purl.bioontology.org/ontology/RCD/7K6Ax</nowiki><code>
+
* URIs for Entities in Views: Some Entities in Views have different URIs then the resource in the actual code system. For instance
 +
 
 +
{{CTS2_RDF_base}}valueset/SNOMED-ETHNIC-GROUP/definition/SNOMED-ETHNIC-GROUP-43057/resolution/43057
  
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:
+
refers to a SNOMEDCT Entity, but Entities have URIs starting with:
{{CTS2_RDF_base}}/codesystem/RCD/version/RCD-42295/entity/RCD:7K6Ax
 
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:
 
  
 
<code>
 
<code>
 
<nowiki>
 
<nowiki>
<http://some/uri...> ?p ?o
+
http://purl.bioontology.org/ontology/SNOMED-Ethnic-Group#
 
</nowiki>
 
</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. This will cause all CTS2 Read services to have a delay in returning results.
 
  
 
=== 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 50: 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 56: Line 65:
 
* Read using entity reference {{CTS2_RDF_base}}entity/LNC:LP97322-9
 
* Read using entity reference {{CTS2_RDF_base}}entity/LNC:LP97322-9
 
* Read using entity references (mutliple Code System Versions) {{CTS2_RDF_base}}entity/obo:IAO_0000030
 
* Read using entity references (mutliple Code System Versions) {{CTS2_RDF_base}}entity/obo:IAO_0000030
* Read using entity with code system version uri {{CTS2_RDF_base}}codesystemversionbyuri/entity/LNC:47281-1?uri=http://bioportal.bioontology.org/ontologies/LNC/version/44774
 
* Read using entity with code system version uri with redirect {{CTS2_RDF_base}}codesystemversionbyuri/entity/LNC:47281-1?uri=http://bioportal.bioontology.org/ontologies/LNC/version/44774&redirect=true
 
  
 
=== 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 68: 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