Hi Sebastian,

I experimented with the new reasoning features and there are some issues.
I already solved them and just want to give you some feedback.
The features and the speed of reasoning are quite awesome, good work
<thumbs up>.

Here is one small question:
If my:trans is a transitive Property and I query:
?s my:trans ?class. ?class a my:Person.
Will the inference engine's  answer be complete and combinable?

Here is a list of strange errors I encountered with V6.1.0.
I can provide you with the data and test queries, if you are interested.
I don't need answers for these, as for me they are already fixed.

1. CREATE BITMAP index RDF_QUAD_PSOG on DB.DBA.RDF_QUAD (P,S,O,G);
Other indexes worked, but the PSOG messed up the DB. After restarting I
got the message:
Error executing a server init statement : 22023: JSO_LOAD_GRAPH has not
found expected metadata in the graph --  DB.DBA.RDF_QUAD_FT_UPGRADE ()
and executing a query with " define input:inference" I got this message:
JSO_LOAD_GRAPH has not found expected metadata in the graph
So server was loading data and index well, but after restarting it
didn't work any more.

You do not need to create this particular index in Virtuoso v6.1.0 as this is the same as the primary key of the table.

Note that the index scheme for the RDF_QUAD table has changed drastically with the introduction of the 2+3 index.

In Virtuoso v5 we only had a small standard set of indexes, combined with an extended set for facetted browsing purposes. This meant that for certain types of queries and reasoning additional indexes where required.

In Virtuoso v6 we have implemented a new 2+3 index scheme, which consists of 2 full indexes (PSOG and POGS) and 3 partial indexes (SP, OP and GS). This new approach takes up a lot less index space, while allowing the same or better capabilities as the older v5 facetted browsing scheme.

While other indexes may be created for certain types of operations, in many cases they will not be needed when moving to the v6 platform.

Please read the following section of the documentation which explains the 2+3 indexing scheme in more details:

http://docs.openlinksw.com/virtuoso/rdfperformancetuning.html#rdfperfrdfscheme


Needless to say we will investigate why the creation of this extra index caused your exec error and will fix it for the next release.

2. At first, I loaded an Ontology for reasoning, containing some blanknodes:

my:SyntacticNode rdfs:subClassOf _:bn1 .
_:bn1 owl:minCardinality "1"^^xsd:nonNegativeInteger .
_:bn1 owl:onProperty my:hasTag .
_:bn1 rdf:type owl:Restriction .

  Whenever I was querying some high classes in the hierarchy, the query
took over 400 seconds and brought the wrong result. So there might be a
glitch there.

3. Inferencing doesn't seem to be compatible with Vectors, so for the
pattern:
?instance a ?class
this still works:
Filter ( ?class = my:Person )
But these do not:
Filter ( ?class = my:Person || ?class = my:Student )
Filter ( ?class in ( my:Person, my:Student) )

I'm not sure if this is a bug, might be a new feature.

Dataset:
8 million triples instance data
About 1000 schema triples with subclassof, inverseof and transitive
properties

Ivan will be looking into these two items.



Best regards,

Patrick

Reply via email to