cliopatria / cliopatria Goto Github PK
View Code? Open in Web Editor NEWClioPatria provides an RDF application platform
License: Other
ClioPatria provides an RDF application platform
License: Other
E.g., when loaded from within the Linked Open Pirates demo:
Loading 7 files using 7 threads ...
Parsed "eez.ttl" in 0.00 sec; 104 triples
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:144: Inserted omitted end-tag for "link"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:144: Inserted omitted end-tag for "meta"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:144: Inserted omitted end-tag for "meta"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:174: Inserted omitted end-tag for "hr"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:175: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:175: Attribute value requires quotes, found "property=dcterms:abs ... tract"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:188: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:351: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:352: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:415: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:426: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:530: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:551: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:551: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:551: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:551: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:593: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:595: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:647: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:654: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:667: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:667: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:667: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:667: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:667: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:667: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:702: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:712: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:712: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:712: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:722: Inserted omitted end-tag for "br"
Parsed "types_and_mappings.rdf" in 0.02 sec; 509 triples
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:722: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:722: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:731: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:758: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:809: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:822: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:822: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:822: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:822: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:833: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:858: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:891: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:930: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:995: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:995: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:995: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1003: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1015: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1044: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1115: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1145: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1178: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1208: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1232: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1255: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1278: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1302: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1325: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1353: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1384: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1428: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1429: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1492: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1492: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1502: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1601: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1629: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1640: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1674: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1696: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1860: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1869: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1873: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1972: Attribute value requires quotes, found "#ref"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "img"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "br"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
SGML2PL(xmlns): http://semanticweb.cs.vu.nl/2009/11/sem/:1990: Inserted omitted end-tag for "section"
Parsed "http://semanticweb.cs.vu.nl/2009/11/sem/" in 0.04 sec; 0 triples
Parsed "http://www.w3.org/1999/02/22-rdf-syntax-ns" in 0.00 sec; 102 triples
Parsed "http://www.w3.org/2000/01/rdf-schema" in 0.01 sec; 87 triples
Parsed "http://www.w3.org/2002/07/owl" in 0.01 sec; 450 triples
Parsed "piracy_events_imb_mss_eez.rdf" in 0.79 sec; 27,729 triples
Variables that only appear in Filter
expressions should not be part of projection *
.
For example, the following query should return solutions with columns x
and n
, but not m
:
PREFIX : <http://example.com/>
SELECT * WHERE {
?x :p ?n
FILTER NOT EXISTS {
?x :q ?m .
FILTER(?n = ?m)
}
}
Hi,
I would like to now if ClioPatria has an official docker image. I found this one: https://hub.docker.com/r/onnovalkering/cliopatria/ however i'm not sure if it was released by your time. Could you please tell me if you have a official docker image for the project and where can i find it?
Best,
Silvio
There are still some incorrect requests that receive a 500 rather than a 400 HTTP status code.
Sample request:
$ curl "http://localhost:3020?monkey"
Corresponding reply:
<!DOCTYPE html>
<html>
<head>
<title>500 Internal server error</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<h1>Internal server error</h1>
<p>
Syntax error: illegal_uri_query</p>
<address>
<a href="http://www.swi-prolog.org">SWI-Prolog</a> httpd at localhost.localdomain
</address>
</body>
</html>
Ubuntu 17.04, SWI-Prolog 7.7.1 64 bit, installed from PPA.
I am following the tutorial step-by-step:
This throws an error and doesn't load all the data:
% Parsed "eez.ttl" in 0.00 sec; 104 triples
% Parsed "types_and_mappings.rdf" in 0.02 sec; 509 triples
ERROR: [Thread httpd@3020_5] rdf_format_plugin `rdfa' does not exist
Most test files did not load (independently) at all. This is now fixed on branch cp11
.
The current situation:
sesame('test/files/testcases/SeRQL/CfwQuery')
is missing.Dear all,
I updated rdf/base/void.ttl to load the owl2 schema currently served by w3.org on the http://www.w3.org/2002/07/owl#
namespace.
First, I hope you are all ok with that, if not feel free to revert!
Second, the RDF library does not seem to process my
lib:source http://www.w3.org/2002/07/owl .
triple, in the graph list the RDF graph is listed as file:///local/path/to/ClioPatria/rdf/base/owl2.ttl
Hello,
I am working on a project in which I have to upload a local file from Java into Cliopatria.
The problem I encountered is that when I send the file, I have to add login and password.
Is there any service to deal with that ?
Thank you in advance.
The entailment regime cannot be chosen in Yasgui.
Copy it from the text form.
Operator @/1 is not always defined. This causes syntax error:
sparql_runtime.pl:1241:14: Syntax error: Operator expected
Could not be easily fixed as XPCE is required for regex support? Reference to code:
https://github.com/ClioPatria/ClioPatria/blob/master/rdfql/sparql_runtime.pl#L1241
I got this error while trying to run ClioPatria inside mndrix' SWI-s base Docker image https://hub.docker.com/r/mndrix/swipl/ which seems to lack GUI packages.
Bug when visiting /help/http
:
% [Thread httpd@3020_5] [13:24:18.132] GET /help/expand_http_node: [500] Type error: `pair' expected, found `label('.well-known')' (a compound)
In:
[31] throw(error(...,_G2071))
[28] json:pairs_print_length([...|...],json_options(...,...,...,atom,''),72,4,_G2090) at /home/wbeek/lib/swipl/library/http/json.pl:754
[26] json:array_print_length([...|...],json_options(...,...,...,atom,''),72,2,_G2118) at /home/wbeek/lib/swipl/library/http/json.pl:776
[24] json:json_write_term([...|...],current_output,json_write_state(0,2,8,72,false),json_options(...,...,...,atom,'')) at /home/wbeek/lib/swipl/library/http/json.pl:554
[18] http_dispatch:call_action(http_tree:expand_http_node,[...|...]) at /home/wbeek/lib/swipl/library/http/http_dispatch.pl:729
[16] time:run_alarm_goal('$alarm'(35096203137536),http_dispatch: ...) at /home/wbeek/lib/swipl/library/time.pl:139
[15] setup_call_catcher_cleanup(time: ...,time: ...,_G2217,time: ...) at /home/wbeek/lib/swipl/boot/init.pl:310
[8] httpd_wrapper:call_handler(cp_server:http_dispatch,103,[...|...]) at /home/wbeek/lib/swipl/library/http/http_wrapper.pl:303
[7] catch(httpd_wrapper: ...,error(...,...),httpd_wrapper:true) at /home/wbeek/lib/swipl/boot/init.pl:274
[6] httpd_wrapper:handler_with_output_to(cp_server:http_dispatch,103,[...|...],current_output,error(...,...)) at /home/wbeek/lib/swipl/library/http/http_wrapper.pl:283
[5] httpd_wrapper:handler_with_output_to(cp_server:http_dispatch,103,[...|...],<stream>(0x7fade417dde0),error(...,...)) at /home/wbeek/lib/swipl/library/http/http_wrapper.pl:293
[4] httpd_wrapper:http_wrapper(cp_server:http_dispatch,<stream>(0x7fadf40008c0),<stream>(0x7fadf4000e70),_G2347,[...|...]) at /home/wbeek/lib/swipl/library/http/http_wrapper.pl:106
[3] thread_httpd:http_process(cp_server:http_dispatch,<stream>(0x7fadf40008c0),<stream>(0x7fadf4000e70),[...|...]) at /home/wbeek/lib/swipl/library/http/thread_httpd.pl:717
[2] catch(thread_httpd: ...,_G2391,thread_httpd:true) at /home/wbeek/lib/swipl/boot/init.pl:274
[1] thread_httpd:http_worker([...|...]) at /home/wbeek/lib/swipl/library/http/thread_httpd.pl:540
[0] <meta call>
?- rdf_bnode(S), rdf_assert(S, rdf:type, rdfs:'Resource').
S = '__bnode1'.
SELECT ?p ?o WHERE { _:1 ?p ?o }
Results:
| p | o |
| rdf:type | rdfs:Resource |
curl -H "Accept: application/sparql-results+json" "http://ocalhost:3020/sparql/?query=SELECT%20%3Fp%20%3Fo%20WHERE%20%7B%20_%3A1%20%3Fp%20%3Fo%20%7D"
Result:
{
"head": {"vars": ["p", "o" ]},
"results": {
"bindings": [
{
"p": {
"type":"uri",
"value":"http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
},
"o": {
"type":"uri",
"value":"http://www.w3.org/2000/01/rdf-schema#Resource"
}
},
{
"p": {
"type":"uri",
"value":"http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
},
"o": {
"type":"uri",
"value":"http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"
}
}
]
}
}
Where does the second result come from?
The query string parameters for SPARQL Update requests, as defined by the SPARQL 1.1 Protocol recommendation, are [1a] and [1b]. ClioPatria uses the query strings for SPARQL Query requests instead, i.e. [1b] and [2b].
[1a] using-graph-uri
[2a] using-named-graph-uri
[1b] default-graph-uri
[2b] named-graph-uri
Do you have a mailing list or an irc channel for discussions about cliopatria?
I think it would be best to replace the configure
script with a bin/clio
script that would allow you to do something like:
export PATH="$PATH:/home/andrew/code/cliopatria/bin/"
cd code/
mkdir my_app
cd my_app
clio init
Hi everyone,
There are some good example of configuration between cliopatria and the Pengine service which i can follow to execute some prolog rules?
Thanks,
Upon loading ClioPatria the following RDF prefix is registered:
:- rdf_register_ns(user, 'http://www.swi-prolog.org/cliopatria/user/').
The prefix name user
may already be specified beforehand or afterwards by the... user. In fact, user
is -- not-so-commonly -- used to denote the IRI prefix http://schemas.talis.com/2005/user/schema#
according to prefix.cc.
TODO:
Pirates
outside of the ClioPatria
directory?This allows users of a ClioPatria instance to log in with their Google or Yahoo! account.
Steps:
1. Start ClioPatria
2. Visit http://localhost.localdomain:6666/ in a browser
3. Click "Login"
The following warning is displayed in the terminal:
% [Thread httpd@6666_2] [19:20:17.011] GET /openid/undefined: [404] error(404,/openid/undefined)
Where is this part declared?
E.g., sending an OPTIONS or HEAD request now returns an HTTP 500 status code.
Dataset:
?- rdf_bnode(S), rdf_assert(S, rdf:type, rdfs:'Resource').
?- rdf_assert(rdf:a, rdfs:subClassOf, rdf:b).
?- rdf_assert(rdf:b, rdfs:subClassOf, rdf:c).
Query under RDFS entailment:
SELECT ?s ?p ?o
WHERE {
?s ?p ?o .
}
LIMIT 100
ClioPatria create a file daemon.pl
upon configuring. Would it make sense to include this file into .gitignore
?
According to the SPARQL standard, codepoint escape sequences must be processed prior to parsing the query string. This means that even characters that belong to the SPARQL grammar can be escaped.
The current implementation only processed codepoint escape sequences at the level of atoms, e.g., variable names, with uchar//1
.
This is fairly straightforward to implement correctly, by running to the codelist prior to parsing and removing/changing current uses of uchar//1
.
Posting SPARQL Update request [1] to a ClioPatria instance throws type error [2]:
[1] INSERT DATA { _:1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> _:1 . }
[2] Exception: Type error: `atom' expected, found `bnode('1')' (a compound)
It seems to be that the blank nodes are translated to an internal format (thus the compound term in [2]), but this internal format cannot be read later. There is a blank node map that is used for SPARQL Query requests, but it is not used for SPARQL Update requests. Maybe this is the culprit?
Reproducing code, assuming a ClioPatria instance is running at localhost port 3020:
:- module(
test_sparql_update,
[
test_sparql_update/0
]
).
/** <module> Test SPARQL Update
This tests the occurrence of blank nodes in SPARQL Update INSERT DATA
in ClioPatria.
@author Wouter Beek
@version 2014/06/16
*/
:- use_module(library(ansi_term)).
:- use_module(library(base64)).
:- use_module(library(debug)).
:- use_module(library(http/http_client)).
:- debug(test_sparql_update).
test_sparql_update:-
% ClioPatria user name.
format(user_output, 'Enter a ClioPatria user name.\n', []),
read_line_to_string(user_input, User),
% ClioPatria password.
format(user_output, 'Enter the password for user ~s.\n', [User]),
read_line_to_string(user_input, Password),
phrase(test_sparql_update, Query),
http_authentication(User, Password, Authentication),
http_post(
'http://localhost:3020/sparql/update',
codes('application/sparql-update', Query),
Reply,
[request_header('Authorization'=Authentication)]
),
debug(test_sparql_update, 'Reply: ~w', [Reply]).
test_sparql_update -->
`INSERT DATA { _:1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> _:1 . }`.
http_authentication(User, Password, Authentication):-
atomics_to_string([User,Password], ':', Plain),
base64(Plain, Encoded),
atomics_to_string(['Basic',Encoded], ' ', Authentication).
File <ClioPatria>/web/tutorial/Parsia/
seems to have DOS line endings. Is it ok to convert such files with dos2unix
?
When I disable the help system:
%:- use_module(cliopatria('applications/help/load')).
run run.pl and type make
, I get a warning:
Warning: The predicates below are not defined. If these are defined
Warning: at runtime using assert/1, use :- dynamic Name/Arity.
Warning:
Warning: http_help:page_documentation_link/3, which is referenced by
Warning: /home/raivo/Downloads/ClioPatria/skin/cliopatria.pl:231:18: 1-st clause of cp_skin:current_page_doc_link/2
https://letsencrypt.org/ is a new free, automated and open SSL certificate authority. At the moment, configuration of HTTPS websites takes quite some manual effort, and certificate cost money. This new free certificate authority automates requesting and renewing of certificates, and configures most of the web service. At the moment it is still in closed beta, but is scheduled for a public release later this year.
This module is currently nowhere loaded. Can we remove it?
It's even difficult to find online what SeRQL is. It seems to be a precursor to SPARQL that was initially developed for Sesame?
Unfortunately, the following will not work:
:- use_module(library(semweb/rdf_db)).
run :-
A1 = rdf,
A2 = type,
rdf(A1:A2, b, c).
Giving the following error:
$ swipl test.pl
ERROR: /home/wbeek/Git/test.pl:3:
Arguments are not sufficiently instantiated
This does currently work for the graph argument, e.g., https://github.com/ClioPatria/ClioPatria/blob/master/rdfql/sparql_runtime.pl#L1637
However, in rdf11
we are defining the graph argument as r
where it was defined as ?
in rdf_db
.
Currently ClioPatria ships with three SPARQL query editors: Yasgui, Flint, and some text form. Upon default installation only the text form is present (the other 2 require additional installation steps).
For an optimal out-of-the-box experience ClioPatria should come with 1 SPARQL query editor, preferably a good and intuitive one. Since Yasgui's featureset is a superset of the other 2 I would suggest to:
At several points in the codebase logged_on/2 is called with both arguments uninstantiated while the specification is (-,+)
. When not logged in, each of these calls leaves variable User
uninstantiated (which is probably unintentional) and causes the predicate to fail later on.
This line gives the following error:
?- ERROR: [Thread 10] Failed to translate to HTML: \li_persistent_graph(graph_name:'')
This depends a bit on where rdf11
will be placed. Will it be under library(semweb/rdf11)
?
http://mailman.few.vu.nl/mailman/listinfo/cliopatria-list
The host itself is inaccessible.
I've followed the installation instructions to install ClioPatria
but what I get is an endless, never halting, stream of errors like these
ERROR: ~/ClioPatria/config-enabled/debug.pl:48:
nil: X-error
X error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 25 (X_SendEvent)
Minor opcode of failed request: 0
Resource id in failed request: 0x21105e8
Serial number of failed request: 4385
X error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 8 (X_MapWindow)
Minor opcode of failed request: 0
Resource id in failed request: 0x5e0001b
Serial number of failed request: 4386
X error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 12 (X_ConfigureWindow)
Minor opcode of failed request: 0
Resource id in failed request: 0x5e0001b
Serial number of failed request: 4387
X error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 3 (X_GetWindowAttributes)
Minor opcode of failed request: 0
Resource id in failed request: 0x5e0001b
Serial number of failed request: 4388
Message: debug_mode(on)
Message: error(pce(x_error,[@nil]),send(@prolog_warnings,expose))
Message: error(pce(x_error,[@nil]),send(@prolog_warnings,expose))
how do I fix this?
Jan,
A clean cliopatria install returns a 500 server error with error message:
Internal server error
http_alias `pldoc_pkg' does not exist
Setting 'doc_enable(true)' seems to solve the issue. Is this something that needs to be set in the default Clioptria configuration?
For example:
{ option(top_max(TopMax), Options, 500),
option(top_max(BottomMax), Options, 500)
The idea seems to be to display triples as follows:
MaxTop
triples.MaxTop + MaxBot
MaxBot
triplesat least 50% of the time when I install cliopatria I find myself locked out and not knowing hte admin password.
This, simply, is too fragile. You need a more robust way to set the admin password
Per email discussion with Jan, need to relicense the http help subsystem for Simularity sponsored pack.
For many unanticipated request types ClioPatria currently returns a 500 status code.
Is there a better approach towards returning 4xx errors?
This query returns one result:
SELECT * WHERE
{
SERVICE <http://dbpedia-live.openlinksw.com/sparql>
{
?entity rdf:type <http://dbpedia.org/ontology/Person> .
?entity rdfs:label "Frida Kahlo"@en
}
}
However, this doesn't seem to work when using BIND
to pass the search term to the SERVICE
directive:
SELECT * WHERE
{
BIND( "Frida Kahlo"@en as ?term )
SERVICE <http://dbpedia-live.openlinksw.com/sparql>
{
?entity rdf:type <http://dbpedia.org/ontology/Person> .
?entity rdfs:label ?term
}
}
I seem to be getting a Type error:
rdf_object' expected, found literal(lang(en,'Frida Kahlo'))' (a compound)
error.
Is this a bug? Or is there something wrong with my query? I have compared the behaviour with other SPARQL endpoints (Blazegraph & snorql) but second query seems to work ok on those.
Hello,
I am trying to load a local file into Cliopatria using java
https://github.com/ClioPatria/ClioPatria/blob/master/client/Java/SesameAddData.java
Here is my code
package com.list.metis.controller;
import java.net.URL;
import org.openrdf.sesame.admin.*;
import org.openrdf.sesame.constants.RDFFormat;
import org.openrdf.sesame.query.*;
import org.openrdf.sesame.query.rql.model.URI;
//import org.openrdf.sesame.query.serql.model.SfwQuery;
import org.openrdf.sesame.sail.*;
import org.openrdf.sesame.repository.remote.*;
import org.openrdf.sesame.constants.QueryLanguage;
import org.eclipse.jdt.internal.compiler.ast.SynchronizedStatement;
import org.openrdf.model.Value;
import org.openrdf.model.ValueFactory;
import org.openrdf.util.io.IOUtil;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.openrdf.util.io.IOUtil;
import org.openrdf.sesame.constants.RDFFormat;
import java.io.File;
@Controller
class SesameAddData {
@RequestMapping("/ses")
public String sesameAddData() {
try {
System.setProperty("org.xml.sax.driver", "org.apache.crimson.parser.XMLReaderImpl");
HTTPService service = new HTTPService(new URL("http://localhost:3020/"));
HTTPRepository repository = (HTTPRepository) service.getRepository("default");
// StdOutAdminListener listener = new StdOutAdminListener();
// System.out.println("listener");
File data = new File("C:/Users/fourati/workspace/METIS_VERSION_0.1.0/university.owl");
service.login("admin", "adminadmin");
repository.addData(data, "university", RDFFormat.RDFXML, true, new StdOutAdminListener());
service.logout();
return "startbootstrap-sb-admin-2-gh-pages/pages/index.html";
} catch (Exception e) {
e.printStackTrace();
return "startbootstrap-sb-admin-2-gh-pages/pages/error.html";
}
}
}
Here is the result:
java.io.IOException: Internal Server Error
at org.openrdf.sesame.repository.remote.HTTPRepository._checkResponse(HTTPRepository.java:764)
at org.openrdf.sesame.repository.remote.HTTPRepository._sendPostRequest(HTTPRepository.java:722)
at org.openrdf.sesame.repository.remote.HTTPRepository._adminPost(HTTPRepository.java:650)
at org.openrdf.sesame.repository.remote.HTTPRepository._addData(HTTPRepository.java:421)
at org.openrdf.sesame.repository.remote.HTTPRepository.addData(HTTPRepository.java:358)
at org.openrdf.sesame.repository.remote.HTTPRepository.addData(HTTPRepository.java:346)
at com.list.metis.controller.SesameAddData.sesameAddData(SesameAddData.java:43)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:105)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
How can I fix this ? Thank you.
I had to help my friend yesterday with the installation of ClioPatria on Windows and it didn't work.
First, running ..\cliopatria\configure
under cmd failed because it was a bash script.
Next, running ../cliopatria/configure
or SWIPL=swipl ../cliopatria/configure
under git bash caused the execution to hang (no excessive CPU use).
Finally, I ran the command from the configure
script by hand:
swipl -f ../cliopatria/setup.pl --
And I got an error (didn't save the exact message, sorry) like "setup/5 is not defined".
What finally worked (after a sneak peek into win-config.c
) was this:
swipl-win.exe -s ../cliopatria/setup.pl
The problem with win-config.c
is that you need a compiler to run it and it comes with a Makefile (how ironic) so I would have had to set up full gcc/make toolchain under Windows using cygwin.
Three ideas:
configure.bat
that would mimic configure
for bash but look for swipl-win.exe
instead (IMO the easiest solution, but I still have no idea why the non-GUI swipl
didn't work).win-config.c
into Prolog (I am just learning it so would need some help if I do a PR). I found http://www.swi-prolog.org/pldoc/man?section=registry but maybe it's an overkill.win-config.c
into Python (it's installed on almost every dev machine and easy to peek at).I would actually recommend replacing configure
with bin/clio
but let's take it in #51
In SWI-Prolog development branch:
?- use_module(library(semweb/rdf_db)).
?- rdf_global_id(rdf:a, X).
X = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#a'.
In ClioPatria:
?- rdf_global_id(rdf:a, X).
X = rdf:a.
Since in ClioPatria only abbreviated IRIs can be used, it is not possible to use IRIs that have a prefix that is registered as an RDF namespace. For example:
?- rdf_assert('http://www.w3.org/1999/02/22-rdf-syntax-ns#a', 'http://www.w3.org/1999/02/22-rdf-syntax-ns#a', 'http://www.w3.org/1999/02/22-rdf-syntax-ns#a', a).
?- rdf(S, P, O, a).
S = P, P = O, O = rdf:a.
E.g., the W3C page https://www.w3.org/2001/sw/wiki/SeRQL still refers to a SWI-Prolog web page that no longer exists.
Merge the "Change password" user page into the "User page".
Result: a less cluttered Web UI.
SWI-Prolog provides an efficient C-based main-memory RDF store
Since cliopatria extends on this store, is it also an in-memory store or does it store to disk as well?
ClioPatria is primarily positioned as a prototyping platform for exploring novel ways of reasoning with RDF data
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.