Hi Stardog team,
I’m trying to get a quick test whether “owl:equivalentProperty” and “owl:sameAs” reasoning works over the virtual graph.
- EquivalentProperty
I have two simple RDB tables, table_a and table_b.
I defined those tables in a test.ttl file and could connect each table via query using virtual graph.
Table_a has a column named with “id” and Table_b has a column named with “idx”.
select *
{
GRAPH virtual://test {
?s ta:id ?o .
}
}
–> OK
select *
{
GRAPH virtual://test {
?s tb:idx ?o .
}
}
–> OK
Then, I inserted the following triple into an arbitrary stardog database.
insert {
tb:idx owl:equivalentProperty ta:id
}
where {}
After turning the reasoning option, I ran the following query again.
select *
{
GRAPH <virtual://test> {
?s ta:id ?o .
}
}
What I expected from this query was getting all pairs of ?s and ?o from table_a and table_b.
However, this query results in internal server error.
Am I doing something wrong here?
- owl:sameAs
table_a has “id” field and the values in that field were defined as instances.
One of the instances is ta:abc.
table_b has “idx” field and the values in that field were defined as instances.
One of the instances is tb:def.
select *
{
GRAPH virtual://test {
?s ta:id ?o .
filter(?o = ta:abc)
}
}
–> OK
select *
{
GRAPH virtual://test {
?s tb:idx ?o .
filter(?o = tb:def)
}
}
–> OK
Then, I inserted the following triple into the stardog database.
insert {
ta:abc owl:sameAs tb:def
}
where {}
I tried the following query but I don’t get an expected result. (of course reasoning = ON)
What I expected was to get the ?s having abc as an ID.
select *
{
GRAPH virtual://test {
?s ta:id ?o .
filter(?o = tb:def)
}
}
For 1) and 2), I’d like to know whether these kind of reasoning is supposed to work in the Stardog 5.2.3.
Could you please give some advise if I’m doing something wrong?
Thank you so much.