Hi Cristian,
Could you please check:
1. in virtuoso ini file what is the value of the URIQA - DefaultHost
* if the htttp is on port 80, then this port you must not use in the
default host, as cname in this case is without the port.
2. You can check what returns this:
sparql select count(*)
from <http://cname/dataspace/inf>
where { ?x rdfs:subClassOf ?z }
i..e is there something in the graph
* if there is something:
1. execute this from ISQL:
DB.DBA.RDFS_RULE_SET ('http://cname/dataspace',
http://cname/dataspace/inf');
2. try from ISQL this:
sparql define input:inference <http://cname/dataspace>
select count(*)
from <http://cname/dataspace>
where { ?s ?p ?o };
Every step will show what is in the db and what not.
Hope this to help.
Best Regards,
Rumi
Hello Rumi,
I uninstalled and installed ODS, but the problem persists.
curl -i "http://www.univrz.com/ods/api/user.search?pattern=dba" throws
the same error. (-500), i made some experiments (in other instances)
trying to force the inference context, but it didn't work either...
Best regards,
Cristian
2009/2/9 Rumi Tsekova <rtsek...@openlinksw.com>:
Cristian,
Here are the results of my tests against your machine:
$ curl -i "http://www.univrz.com/ods/api/user.search?pattern=dba"
HTTP/1.1 200 OK
Server: Virtuoso/05.09.3037 (Linux) i686-pc-linux-gnu VDB
Connection: Keep-Alive
Date: Mon, 09 Feb 2009 16:44:00 GMT
Accept-Ranges: bytes
Content-Type: text/xml; charset="UTF-8"
Content-Length: 127
<failed><code>-500</code><message>RDF..: Inference context
http://www.univrz.com:80/dataspace does not exist</message></failed>
I would say you to install ods package again.
$ curl -i
"http://www.univrz.com/ods/api/univrz.test.customquery?pattern=test"
HTTP/1.1 200 OK
Server: Virtuoso/05.09.3037 (Linux) i686-pc-linux-gnu VDB
Connection: Keep-Alive
Date: Mon, 09 Feb 2009 16:46:52 GMT
Accept-Ranges: bytes
Content-Type: text/xml; charset="UTF-8"
Content-Length: 87
<failed><code>37000</code><message>SOH03: There is no such
procedure</message></failed>
As this is the same as user.search (only query different), you should
execute grant on it in order we to locate the problem.
Best Regards,
Rumi
Hello rumi,
thank you for your response, i tried some things but I still have the
inference context problem :(
I started again, using a new instance of virtuoso from scratch|. I
installed ODS and tested some of the methods on the ODS REST
Interface, specially the ones that make use of sparql, I was happy
because they worked.
Then I started to add some custom methods, one of them used
exec_sparql(), is the following one:
create procedure ODS.ODS_API."univrz.test.customquery" (in pattern
varchar) __soap_http 'text/xml'
{
declare q varchar;
declare exit handler for sqlstate '*' {
rollback work;
return ods_serialize_sql_error (__SQL_STATE, __SQL_MESSAGE);
};
q := sprintf (
'prefix foaf: <http://xmlns.com/foaf/0.1/> '||
'select distinct ?a ?c where {?a foaf:depiction ?c} limit 50 ',
sioc..get_graph(), pattern);
exec_sparql (q);
return '';
}
;
grant execute on ODS.ODS_API."univrz.test.customquery" to ODS_API;
(it doesnt use pattern yet).
and then when I try to execute it, (univrz.test.customquery) I get the
following error:
<failed>
<code>-500</code>
<message>RDF..: Inference context http://www.univrz.com:80/dataspace
does not exist</message>
</failed>
Its the same error with my other instance, my surprise began when I
looked back at the Interface methods present in
the ODS REST API, and they stopped working. (e.g.:
ODS.ODS_API."user.search"), they throw now the same -500 error as my
method.
my sys_rdf_schema shows the following:
RS_NAME RS_URI RS_G
VARCHAR NOT NULL VARCHAR NOT NULL VARCHAR
_______________________________________________________________________________
http://www.univrz.com:80/dataspace
http://www.univrz.com:80/dataspace/inf
NULL
virtrdf-label virtrdf-label NULL
Today, I dont know what's happening,
Thank you in advance,
Cristian
2009/2/9 Rumi Tsekova <rtsek...@openlinksw.com>:
Hi Cristian,
Hello!
I'm developing some extensions to the ODS REST API, and i get an
error when i make use of the "exec_sparql (q);" procedure, present on
the ODS controllers. When i try to invoke it, i get the following
error:
<failed>
<code>-500</code>
<message>RDF..: Inference context http://www.univrz.com:80/dataspace
does not exist</message>
</failed>
Could you please check in the sys_rdf_schema if there is record for the
inference in question?
i.e. : select * from sys_rdf_schema;
If there is no, then you should
- install ods
- execute:
use sioc;
DB.DBA.TTLP (sioct_n3 (), '', get_graph() || '/inf');
DB.DBA.RDFS_RULE_SET (get_graph (), get_graph() || '/inf');
Best Regards,
Rumi
My inference context is http://www.univrz.com/dataspace (i think - i'm
just starting to explore this world), when i make use of the other
methods, like DB.DBA.SPARQL_EVAL_TO_ARRAY i can see the results, but
i'm interested in using the ODS api (like the exec_sparql(q)
procedure) to keep consistency.
Some methods from the published Rest Interface, like
ODS.ODS_API."instance.get.id"or ODS.ODS_API."user.get" show the same
problem. Maybe is a configuration issue, but i dont know yet.
Regards,
Cristian
------------------------------------------------------------------------------
Create and Deploy Rich Internet Apps outside the browser with
Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and
code
to
build responsive, highly engaging applications that combine the power
of
local
resources and data with the reach of the web. Download the Adobe AIR
SDK
and
Ajax docs to start building applications
today-http://p.sf.net/sfu/adobe-com
_______________________________________________
Virtuoso-users mailing list
Virtuoso-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/virtuoso-users