Hi Cristian,
Hello Rumi!
All works fine now,
Looking at sys_rdf_schema helps a lot.
SQL> select * from sys_rdf_schema;
RS_NAME RS_URI RS_G
VARCHAR NOT NULL VARCHAR NOT NULL VARCHAR
_______________________________________________________________________________
http://www.univrz.com/dataspace http://www.univrz.com/dataspace/inf NULL
http://www.univrz.com:80/dataspace http://www.univrz.com/dataspace/inf
NULL
virtrdf-label virtrdf-label NULL
i experimented that DB.DBA.RDFS_RULE_SET makes a new definition, but
the old one still there,
so I used procedure rdfs_rule_set (in name varchar, in gn varchar, in
remove int := 0) and it worked
better for me.
questions:
1) is there a way to tell ODS Framework to use another inference contexts?
Yes. In gerneral you can find more details at:
http://docs.openlinksw.com/virtuoso/rdfsparqlrule.html
In short:
1. load the ontology in a graph for ex. "inf"
2. DB.DBA.RDFS_RULE_SET (the_name_of_the_inference, the_name_of_the_graph)
2) if I change the [URIQA] DefaultHost on virtuoso.ini do I have to
re-create the RDF views manually? if I have,
is ODS Site Settings -> RDF Data Administration for that purpose ?
Yes this is the place. You need to rebuild the RDF Data too.
Best Regards,
Rumi
Thank you!!
Cristian
2009/2/10 Rumi Tsekova <rtsek...@openlinksw.com>:
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