Hi Hugh,

the version we're running for this particular instance is 5.0.5 (Linux 64bits). You can check it out from: http://www.cellcycleontology.org/query/sparql

 I have run 'explain' with the following query:

BASE <http://www.cellcycleontology.org/ontology/rdf/>
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
PREFIX sp:<Sp#>
SELECT ?prot_label ?biological_process_label
FROM <Sp>
WHERE {
?prot sp:is_a sp:CCO_B0000000 .
?prot rdfs:label ?prot_label .
?prot sp:participates_in ?biological_process .
?biological_process rdfs:label ?biological_process_label
}

and the output is:

REPORT
VARCHAR
{

Precode:
0: $25 "org/ontology/rdf/Sp" := Call DB.DBA.RDF_MAKE_IID_OF_QNAME_SAFE (<constant (http://www.cellcycleontology.org/ontology/rdf/Sp)>) 7: $26 "ema#label" := Call DB.DBA.RDF_MAKE_IID_OF_QNAME_SAFE (<constant (http://www.w3.org/2000/01/rdf-schema#label)>) 14: $27 "org/ontology/rdf/Spis_a" := Call DB.DBA.RDF_MAKE_IID_OF_QNAME_SAFE (<constant (http://www.cellcycleontology.org/ontology/rdf/Spis_a)>) 21: $28 "org/ontology/rdf/SpCCO_B0000000" := Call DB.DBA.RDF_MAKE_IID_OF_QNAME_SAFE (<constant (http://www.cellcycleontology.org/ontology/rdf/SpCCO_B0000000)>) 28: $29 "org/ontology/rdf/Spparticipates_in" := Call DB.DBA.RDF_MAKE_IID_OF_QNAME_SAFE (<constant (http://www.cellcycleontology.org/ontology/rdf/Spparticipates_in)>)
 35: BReturn 0
from DB.DBA.RDF_QUAD by RDF_QUAD_OGPS
Key RDF_QUAD_OGPS ASC ($31 "s-6-1-t0.S")
<col=415 O = $28 "org/ontology/rdf/SpCCO_B0000000"> , <col=412 G = $25 "org/ontology/rdf/Sp"> , <col=414 P = $27 "org/ontology/rdf/Spis_a">
row specs: <col=415 O LIKE <constant (Tó)>>

Current of: <$33 "<DB.DBA.RDF_QUAD s-6-1-t0>" spec 5>
from DB.DBA.RDF_QUAD by RDF_QUAD
Key RDF_QUAD ASC ($36 "s-6-1-t2.O", $35 "s-6-1-t2.S")
inlined <col=412 G = $25 "org/ontology/rdf/Sp"> , <col=413 S = $31 "s-6-1-t0.S"> , <col=414 P = $29 "org/ontology/rdf/Spparticipates_in">
row specs: <col=415 O LIKE <constant (Tó)>>

Current of: <$38 "<DB.DBA.RDF_QUAD s-6-1-t2>" spec 5>

Precode:
 0: $39 "callret" := Call __all_eq ($35 "s-6-1-t2.S", $31 "s-6-1-t0.S")
 5: BReturn 0
from DB.DBA.RDF_QUAD by RDF_QUAD
Key RDF_QUAD ASC ($41 "s-6-1-t1.O")
inlined <col=412 G = $25 "org/ontology/rdf/Sp"> , <col=413 S = $31 "s-6-1-t0.S"> , <col=414 P = $26 "ema#label">
row specs: <col=413 S = $35 "s-6-1-t2.S">

Current of: <$43 "<DB.DBA.RDF_QUAD s-6-1-t1>" spec 5>

Precode:
 0: $44 "prot_label" := Call __rdf_sqlval_of_obj ($41 "s-6-1-t1.O")
 5: BReturn 0
from DB.DBA.RDF_QUAD by RDF_QUAD
Key RDF_QUAD ASC ($46 "s-6-1-t3.O")
inlined <col=412 G = $25 "org/ontology/rdf/Sp"> , <col=413 S = $36 "s-6-1-t2.O"> , <col=414 P = $26 "ema#label">

Current of: <$48 "<DB.DBA.RDF_QUAD s-6-1-t3>" spec 5>

After code:
0: $49 "biological_process_label" := Call __rdf_sqlval_of_obj ($46 "s-6-1-t3.O")
 5: BReturn 0
Select ($44 "prot_label", $49 "biological_process_label", <$48 "<DB.DBA.RDF_QUAD s-6-1-t3>" spec 5>, <$43 "<DB.DBA.RDF_QUAD s-6-1-t1>" spec 5>, <$38 "<DB.DBA.RDF_QUAD s-6-1-t2>" spec 5>, <$33 "<DB.DBA.RDF_QUAD s-6-1-t0>" spec 5>)
}
No. of rows in result: 46



The number of rows in result is correct; however, none of them is shown...

If I run a slightly different query (note the second prefix):

BASE <http://www.cellcycleontology.org/ontology/rdf/>
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
PREFIX sp:<http://www.cellcycleontology.org/ontology/rdf/Sp#>
SELECT ?prot_label ?biological_process_label
FROM <Sp>
WHERE {
?prot sp:is_a sp:CCO_B0000000 .
?prot rdfs:label ?prot_label .
?prot sp:participates_in ?biological_process .
?biological_process rdfs:label ?biological_process_label
}


then the BASE IRI is considered...

thanks,
Erick

Hugh Williams wrote:
Hi Ward,

I have tested this in-house and the base keyword does return the same/ correct results for me:

SQL> sparql base <http://oplusopteron.usnet.private:8890/oracle_hr/> select count(*) from <> where {?s ?p ?o} ;
callret-0
INTEGER
________________________________________________________________________ _______

1545

1 Rows. -- 542 msec.
SQL> sparql select count(*) from <http://oplusopteron.usnet.private: 8890/oracle_hr/> where {?s ?p ?o} ;
callret-0
INTEGER
________________________________________________________________________ _______

1545

1 Rows. -- 474 msec.
SQL>

Can you confirm the version of Virtuoso being used and also if this instance is accessible such that we can see the problem first hand ?

My version is 05.00.3028

Can you also provide the output of running the explain function as detailed at:

http://docs.openlinksw.com/virtuoso/fn_explain.html

Note you will need to run this function from the Virtuoso isql or Conductor interactive SQL interface, remembering to add the 'sparql' prefix before your SPARQL queries such that they are directed to the SPARQL engine .

Best Regards
Hugh Williams
Professional Services
OpenLink Software


On 24 Jun 2008, at 16:34, Ward Blondé wrote:

Dear Virtuoso users,

I was wondering whether the keyword 'base' to make prefixes shorter is
working in Virtuoso. It didn't give my a compile error when I use it,
but it doesn't give any answers to my query either.

I used it like this:
base <http://www.mydomain.org/ontology/rdf/>
prefix rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
prefix rdfs:<http://www.w3.org/2000/01/rdf-schema#>
prefix obo:<OBO#>
select ?name ?id
from <http://www.mydomain.org/ontology/rdf/OBO>
where {
?id obo:is_a obo:CCO_U0000000.
?id rdfs:label ?name.
}

instead of this:
prefix rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
prefix rdfs:<http://www.w3.org/2000/01/rdf-schema#>
prefix obo:<http://www.mydomain.org/ontology/rdf/OBO#>
select ?name ?id
from <http://www.mydomain.org/ontology/rdf/OBO>
where {
?id obo:is_a obo:CCO_U0000000.
?id rdfs:label ?name.
}

thanks,

Ward

Reply via email to