-
Notifications
You must be signed in to change notification settings - Fork 95
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
Uncaught EasyRdf_Exception #635
Comments
I have checked the requirements for easyrdf on https://packagist.org/packages/easyrdf/easyrdf Requires I'm thinking about issues when easyrdf is running from inside a Docker container... Also, I had cloned the latest stable branch v1.9-maintenance. WTH... |
This looks like a socket related networking problem that is basically unrelated to Skosmos or EasyRdf. Search for the error "Cannot assign requested address" for hints. Are you using huge numbers of socket connections in Apache? Are you using SELinux? Is it possible that Apache cannot connect to port 3030? |
Thanks for your hint 👍
I don't think so, I'm using official docker image "php:7.0-apache" to which I only add the required extensions (gettext mbstring, rewrite...). I didn't modified any Apache config (apche2.conf, httpd.conf...), so all is by default as this is Skosmos .htaccess file's settings that overides. This container is exposed on "3030:3030" ports ==> As said, YAGUI Tool can perfectly connect to localhost Jena-fuseki TripleStore... All my development is made on Ubuntu 16.04 LTS, so no SELinux. Thanks. |
Is the Apache container allowed to make connections to the outside world? Since it's a different container than the Fuseki one, its localhost isn't the same thing. But I have very limited experience with Docker containers. |
OK, by modifying the setting "localhost" to "fuseki" on skosmos 'config.inc' file => it seems better now 👍 But now, I've got 2 weird things more to solve:
skosmos console log:
fuseki container log:
Thanks. |
I think that's because the dc11 namespace has not been defined. i.e. maybe the query needs a line like this near the top of the prefixes declaration.
|
@kinow Thanks. I've already tried it under Yasgui, adding that prefix makes the sparql query validated and still returns a result (1 entries...). OK. Then, I've added this xmlns into my .rdf file and re-uploaded it Fuseki triplestore ==> the same behaviour : no data returned back from Fuseeki to Skosmos hierarchy view.. PS: Maybe there is a bad alignment between my .ttl / .rdf files ==> @osma Is it possible to get the .rdf/.xml file corresponding to your vocabularies.ttl.dist, so I can make confirm-tests ? Thanks. |
@osma I've downloaded ysa/yso .rdf+xml content Just wondering how to replace parameters in vocabularies.ttl ??
void:sparqlEndpoint http://fuseki:3030/ds/sparql ; Thanks |
@mhabsaoui I have difficulty following what you're trying to accomplish. My suggestion would be that you walk through InstallTutorial in the wiki, in a virtual machine. Then once you have it working you can start changing things one at a time. If things go wrong, it's easy to trace what caused it. If you start with a completely custom configuration (e.g. both Fuseki abd Apache in Docker and your own vocabulary) it's much more difficult to debug problems. Also I suggest that you ask for help on the skosmos-users Google group. You might find people there with similar setups. This issue tracker is meant for reporting bugs and it's followed by only a few devs, not the larger community of users. vocabularies.ttl is just a text file you can edit. |
@mhabsaoui I re-read what you posted above and it seems to me you may hava a problem with graph URIs. In Fuseki you can store RDF graphs (eg from rdf/xml or ttl files) either into sn unnamed default graph, or to a named graph with a URI. Generally it is easier to use one named graph per vocabulary, as there is just one default graph. So you pick a URI for your vocabulary (often the URI namespace is a good choice), store the data in Fuseki in a graph with that URI (you can do this from the Fuseki UI, or with the s-put command line tool), and then you set the graph URI as skosmos:sparqlGraph in vocabularies.ttl. When everything matches Skosmos will display your data. But looking at the SPARQL queries you've tried, it seems that you've perhaps mixed up the graph URI with the SPARQL HTTP Graph Store endpoint URI (often something that ends with /data). If you prefer to use the default graph in Fuseki, then simply omit the skosmos:sparqlGraph setting. That works, but you're limited to a single vocabulary per Fuseki dataset. |
@osma Thanks for your complete feedback 👍
In fact, we already made a version of Skosmos+Fuseki running and working in Docker containers following exactly the InstallTutorial in the wiki (all things manually installed). Untill now, I solved the access bug to Fuseki on localhost (docker network), and now I'm just trying to understand why Skosmos is getting a "result: 0" on requests made to fuseki.
About graph/'SPARQL HTTP Graph Store endpoint' URIs, my vocabulary has a named sparqlGraph (declared in vocabularies.ttl as following). And I upload the .rdf file to Fuseki through jena-admin interface.
So as you can see above, if I'm not wrong: Thanks. |
@mhabsaoui Right. Your graph URI was confusingly close to the Graph Store endpoint URI. Are you sure you used exactly this graph URI when you uploaded your data to Fuseki? I would advise you to upload a vocabulary that is known to work in Skosmos - for example STW Thesaurus is a good test case - into your Fuseki. Use the graph URI and vocabularies.ttl snippet you can find in the InstallTutorial, except you have to adjust your SPARQL endpoint URI (fuseki instead of localhost). Since you are getting entries in the Fuseki log, it seems that the connection between Apache/PHP/Skosmos/EasyRdf and Fuseki is now working properly. All you should need now is to make sure the graph URIs match. |
@osma Yay, your hints did the trick. In fact, when uploading .rdf file I was missing setting the Destination graph name value, letting it to default... With graph naming, it shows all well 👍 PS:
content of ds.ttl by ddefault:
content of config.ttl by default:
Well thanks for your patient support. And if you're interested in a Skosmos-docker or a Skosmos-Fuseki-docker flavor project for the community let me know. Cheers. |
@mhabsaoui You can use the default dataset/TDB config, but it doesn't have a text index. With larger vocabularies (more than a few thousand concepts), a text index is in practice necessary for good performance. I'm glad you got it working! One thing that would help is writing a tutorial (in the style of InstallTutorial) for how to use Skosmos with Docker. I think many people are starting to use containers, especially for Fuseki, which is a bit of a hassle to install natively (as shown in InstallTutorial). This could be a page in the Skosmos wiki. What do you think? |
Hi, Do I have to make a pull-request, asa I made the Docker way of Tutorial or what ? |
I think the wiki here on GitHub allows anyone to edit pages. You could try creating a page for your tutorial. No need for pull requests, those are used for code contributions. |
At which URL did you encounter the problem?
http://localhost:8080/Biodiversit%C3%A9_ARK/fr/
What steps will reproduce the problem?
What is the expected output? What do you see instead?
The next page showing content of selected vocab
What browser did you use? (eg. Firefox, Chrome, Safari, Internet explorer)
Firefox, Chrome
PS:
the jena-fuseki endoint (http://localhost:3030/ds/sparql) is correctly accessed from YASGUI client even through CORS (http://yasgui.org/). But not from Skosmos...
I used the docker version of jena-fuseki (https://hub.docker.com/r/stain/jena-fuseki/)
console logging :
Thanks.
The text was updated successfully, but these errors were encountered: