Hi Kevin,
right, Lucene is excelent in storing and querying fields (properties of resources are string values), but fails when you want to follow / exploit relations (references to other resources, which are stored in Lucene as strings refering to URIs of other lucene documents). An RDF store supports such a join natively, because it is the very nature of an RDF query to have joins / to contain relations.... it became apparent that it wasn't so much the storage of metadata that was important (lucene stores Properties, or 'Fields' just fine) but relationships between data.
... so I propose the following means of 'hooking up' a RDF store to Beagle.relations are not always parent - child relations, they usually refer to related resources. For instance, an email tells you something about people that send / received the email, so a relation between the email and the involved people can be created. Or the email contains a link to a web page, which is clicked and indexed by beagle later, so these resources can also be connected via a relation. But these examples are no parent - child relations, but still provide valuable information for the user to find resources / browse results. In RDF, there is no need to restrict the notion of a relation to a parent-child relation.-New Query_Part which allows a rdf type query (raw) against the store. -Wire into LuceneQueryDriver and LuceneIndexDriver to store new relationships in RDF store and query them upon creation of a Hit. -Add a more accessible API to Filter for Adding Parents/Children to indexables.
right, storing these relations does not mean the replication of metadata (properties). With the URIs that can be found on both sides of a relation, you can get all metadata from the Lucene index. You only additionally store the relation, not the metadata that are associated with a URI.While this seems like we are replicating much of the data in the Lucene Fields, this is actually something completely different, we are referencing an exact entity, not just a name, or subject. As a result of this tree, not only can we adjust our scoring to account for related items, but we can provide right-click options like 'See all files by this author' etc. in a more intelligent mannor.
Regards,Enrico M.