I am searching for some algorithm to find in-direct relations among RDF concepts e.g. relation between a 'Book' and publication date. There is no direct property that can relate these two and we have a multi-link path to find this relation i.e. 'Book' got a publication event, A publication even got property event time, Event time got a Calendar year that has a label. In short we will come up with following statements (for SPARQL)
{?book a bibo:Book}
{?event a blt:PublicationEvent}
{?book blt:publication ?event}
{?event event:time ?time}
{?time rdfs:label ?year}
Is there any implementation already available (like Jena API) that helps to find in-direct paths for connecting concepts?