Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Additional links displayed in Relfinder + test case #50

Open
GoogleCodeExporter opened this issue Dec 5, 2015 · 1 comment
Open

Additional links displayed in Relfinder + test case #50

GoogleCodeExporter opened this issue Dec 5, 2015 · 1 comment

Comments

@GoogleCodeExporter
Copy link

Hi, there was a post on the apache stanbol list, which provides a test case. I 
posted it below and attached the screenshot. The triples are missing from the 
RDF, I checked this, but I didn't reproduce the error. 
All the best,
Sebastian



Hi Sebastian, 

I finally managed some more time to work on this. I've run into good and bad 
news: the good news is that sometimes RelFinder will find non-trivial paths 
(something more complicated than "a and b both have some relationship to c") 
but the results are somewhat wonky and I don't think it finds all of them that 
it should. See the end of this email for the example RDF data that I'm using.

    This query correctly returns document-1 when executed on the Stanbol SPARQL endpoint:
SELECT * WHERE {
?middle ?pf1 <http://some.org/people/person-1>  . 
?middle ?ps1 <http://some.org/people/person-2>  . 
} LIMIT 10

    And the following query correctly returns document-2
SELECT * WHERE {
?middle ?pf1 <http://some.org/people/person-2>  . 
?middle ?ps1 <http://some.org/people/person-3>  . 
} LIMIT 10

   The following query also works, however, I don't see it as one of the Relfinder queries specified in [1]:
SELECT * WHERE {
?middle ?pf1 <http://some.org/people/person-1> . 
?os1 ?ps1 <http://some.org/people/person-3> . 
?os1 ?ps2 ?os2 . 
?middle ?ps3 ?os2 . 
} LIMIT 10

Should the above query be included in Relfinder for max relation lengths > 4, 
and if so, any tips on how to modify relfinder? As it stands, the RDF DATA 
VERSION 1 does have a path connecting persons 1 and 3, but Relfinder doesn't 
find it.

Also, if I modify the rdf data to include inverse author properties (see RDF 
DATA VERSION 2) then RelFinder correctly finds the path through the document 
from person 1 to person 3, but starts adding spurious links when I search 
between person 1 and person 2. For instance, it includes author and creator 
arrows going both ways, like document 1 -> creator -> person2 AND document1 -> 
author -> person 2. The last statement isn't correct and isn't included in the 
RDF. I've attached a screenshot.

[1] 
http://dbpedia.aksw.org/dbpedia_demo/dbpedia/tutorials/relfinder_search/demo_rel
finder.php

RDF DATA VERSION 1:
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dcterms="http://purl.org/dc/terms/">

<rdf:Description rdf:about="http://some.org/people/person-2">
    <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
    <rdfs:label>Person 2</rdfs:label>
</rdf:Description>

<rdf:Description rdf:about="http://some.org/people/person-3">
    <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
    <rdfs:label>Person 3</rdfs:label>
</rdf:Description>

<rdf:Description rdf:about="http://some.org/people/person-1">
    <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
    <rdfs:label>Person 1</rdfs:label>
</rdf:Description>

<rdf:Description rdf:about="http://some.org/documents/document-1">
    <dcterms:creator rdf:resource="http://some.org/people/person-1"/>
    <rdfs:label>Document 1</rdfs:label>
    <dcterms:creator rdf:resource="http://some.org/people/person-2"/>
</rdf:Description>

<rdf:Description rdf:about="http://some.org/documents/document-2">
    <dcterms:creator rdf:resource="http://some.org/people/person-3"/>
    <rdfs:label>Document 2</rdfs:label>
    <dcterms:creator rdf:resource="http://some.org/people/person-2"/>
</rdf:Description>

</rdf:RDF>

RDF DATA VERSION 2
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:dcterms="http://purl.org/dc/terms/">

<rdf:Description rdf:about="http://some.org/people/person-2">
    <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
    <dcterms:author rdf:resource="http://some.org/documents/document-1"/>
    <dcterms:author rdf:resource="http://some.org/documents/document-2"/>
    <rdfs:label>Person 2</rdfs:label>
</rdf:Description>

<rdf:Description rdf:about="http://some.org/people/person-3">
    <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
    <dcterms:author rdf:resource="http://some.org/documents/document-3"/> 
    <rdfs:label>Person 3</rdfs:label>
</rdf:Description>

<rdf:Description rdf:about="http://some.org/people/person-1">
    <dcterms:author rdf:resource="http://some.org/documents/document-1"/> 
    <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
    <rdfs:label>Person 1</rdfs:label>
</rdf:Description>

<rdf:Description rdf:about="http://some.org/documents/document-1">
    <dcterms:creator rdf:resource="http://some.org/people/person-1"/>
    <rdfs:label>Document 1</rdfs:label>
    <dcterms:creator rdf:resource="http://some.org/people/person-2"/>
</rdf:Description>

<rdf:Description rdf:about="http://some.org/documents/document-2">
    <dcterms:creator rdf:resource="http://some.org/people/person-3"/>
    <rdfs:label>Document 2</rdfs:label>
    <dcterms:creator rdf:resource="http://some.org/people/person-2"/>
</rdf:Description>

</rdf:RDF>


Original issue reported on code.google.com by [email protected] on 27 Jun 2013 at 6:23

@GoogleCodeExporter
Copy link
Author

I just started trying RelFinder for browsing Bio2RDF data from PubMed, since it 
seemed a natural choice for finding "publications that person1 and person2 both 
were authors on", but RelFinder doesn't find any when using just the two 
<http://bio2rdf.org/pubmed_vocabulary:Author> nodes as a query.

Here's a query that illustrates the problem: 
http://www.visualdataweb.org/relfinder/demo.swf?obj1=aHR0cDovL2JpbzJyZGYub3JnL3B
1Ym1lZF9yZXNvdXJjZTphdXRob3I6ZGU3ZWJmZGUyZWY1MDc0Zjg3NTA3OTVkOTI0MWIyOWF8aHR0cDo
vL2JpbzJyZGYub3JnL3B1Ym1lZF9yZXNvdXJjZTphdXRob3I6ZGU3ZWJmZGUyZWY1MDc0Zjg3NTA3OTV
kOTI0MWIyOWE=&obj2=aHR0cDovL2JpbzJyZGYub3JnL3B1Ym1lZF9yZXNvdXJjZTphdXRob3I6YjUyN
jBmOGE3YzA5ZTk2NTJlYTU5NjliMGRiMjU3Njh8aHR0cDovL2JpbzJyZGYub3JnL3B1Ym1lZF9yZXNvd
XJjZTphdXRob3I6YjUyNjBmOGE3YzA5ZTk2NTJlYTU5NjliMGRiMjU3Njg=&obj3=aHR0cDovL2JpbzJ
yZGYub3JnL3B1Ym1lZDoxOTg2ODM3MnxodHRwOi8vYmlvMnJkZi5vcmcvcHVibWVkOjE5ODY4Mzcy&ob
j4=aHR0cDovL2JpbzJyZGYub3JnL3B1Ym1lZDoxOTg2ODQ1NXxodHRwOi8vYmlvMnJkZi5vcmcvcHVib
WVkOjE5ODY4NDU1&name=QmlvMlJERg==&endpointURI=aHR0cDovL3B1Ym1lZC5iaW8ycmRmLm9yZw
==&dontAppendSPARQL=ZmFsc2U=&isVirtuoso=ZmFsc2U=&useProxy=dHJ1ZQ==&method=UE9TVA
==&autocompleteLanguage=&autocompleteURIs=aHR0cDovL3d3dy53My5vcmcvMjAwMC8wMS9yZG
Ytc2NoZW1hI2xhYmVs&ignoredProperties=aHR0cDovL3B1Ym1lZF9yZXNvdXJjZS5iaW8ycmRmLm9
yZy9yZXNvdXJjZQ==&imageURIs=aHR0cDovL3htbG5zLmNvbS9mb2FmLzAuMS9kZXBpY3Rpb24=&lin
kURIs=aHR0cDovL3htbG5zLmNvbS9mb2FmLzAuMS9wYWdl&maxRelationLegth=Mg==


Author 
<http://bio2rdf.org/pubmed_resource:author:de7ebfde2ef5074f8750795d9241b29a> "L 
Pearce" and 
<http://bio2rdf.org/pubmed_resource:author:b5260f8a7c09e9652ea5969b0db25768> "W 
H Brown" are added as targets in the web, as well as two articles they both 
authored: <http://bio2rdf.org/pubmed:19868372> and 
<http://bio2rdf.org/pubmed:19868455>. There's several other articles they 
authored together, which don't automatically show up.

The Author articles are linked to the Publication nodes via a Contributor 
<http://bio2rdf.org/pubmed_vocabulary:Contributor> intermediary node, which 
looks like it would work just fine for linking, so not quite sure why it isn't. 

I did notice that the direction of the arrow for the Contributor to Publication 
link seems to go the wrong way. The data set has:

@prefix v: <http://bio2rdf.org/pubmed_vocabulary:>
v:PubMedRecord dc:contributor v:Contributor .
v:Contributor v:author v:Author .

However when drawn in RelFinder, the arrows point from a Contributor to a 
Publication, which seems wrong.


Original comment by [email protected] on 17 Mar 2015 at 7:01

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant