W3C home > Mailing lists > Public > public-xg-webid@w3.org > January 2012

Re: remoting to the sparql server, and running an OWL test

From: Kingsley Idehen <kidehen@openlinksw.com>
Date: Mon, 02 Jan 2012 20:51:23 -0500
Message-ID: <4F025F1B.1050000@openlinksw.com>
To: public-xg-webid@w3.org
On 1/2/12 5:42 PM, Peter Williams wrote:
>
> Ive updated my little dotNet demo (the one that is a socketlister with an SSL protocol handler From "mentalis", and webid validation agent in the onCertReceive event). Given a webid from a cert provisioned by ODS, it will now have uriburner's sparql endpoint perform the ASK, for a reference indicated in the FROM clause. Going beyond that ASK, to seek higher assurance, is now the goal. The ask query seems off quite limited value (now it works). but, Henry is right to force JUST THAT to work, tpo help bootstrap.
>
>
>
>
>
> Noting how others' validators work (or block), I now check the DNS authority of the webid URI (to see it if resolves in 500 ms or less), and then similarly the resource (which must return 200, and no redirects, in 1000ms or less). If these liveness checks work (building a dependency on the DNS, and the web as a source of endopoints), it then concocts a URI inviting a translation service to always stream out the XML form of triples. THe service would be local (in a true deployement), and there are no timeouts. Its can block the entire thread (and may be even the entire listener, on this little demo.)
>
>
>
> This concocted URI goes into the FROM clause of the sparql query, along with some uriburner flags that induce the sparql server not to consume its own triple store tied to a SQL source (which seems how sparql sservers clasically worked), but to go out and learn a triple store, on the fly, by parsing the targeted document (as translated).
>
>
>
> Thankyou for all the help. Ive wanted to do that for years. I never understood why my own sparql server (from Josh tauber) could not or would not handle real time feeds pulled the uri in FROM clauses, which seemed the "heart of the semantic web".
>
>
>
>
>
>
>
> With that, I should be able to invoke the owl engine, remotely -  since two of my cards now contain owl:sameAs references to each other
>
>
>
>
>
>
>
> Perhaps help me define the output, that defines success. ANy success, is fine. Its just a unit test, so I know what broke.
>
>
>
> > From Azure to Blogspot: http://rdf-translator.appspot.com/parse?url=http://rapstr1.blob.core.windows.net/ods/user.ttl&if=n3&of=n3&html=1
>
>
>
> > From BlogSpot to Azure: http://rdf-translator.appspot.com/parse?url=http://yorkporc2.blogspot.com/&of=n3&html=1
>
>
>
>
>
> Assuming those are profiles are correct, what uriburner query (a select query, presumably, stored in a permalink) could simply enumerate the identical references?
>
>
>
> my own effort was limited to this:
>
>
>
> DEFINE input:same-as "yes"
> PREFIX owl:<http://www.w3.org/2002/07/owl#>
> PREFIX :<http://www.w3.org/ns/auth/cert#>
> PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>
>
> SELECT * FROM<http://rdf-translator.appspot.com/parse?url=https%3A%2F%2Frapstr1.blob.core.windows.net%2Fods%2Fuser.ttl&if=n3&of=xml>  WHERE {
> ?s owl:sameAs<data:application/x-x509-user-cert;base64,MIIFHDCCBIWgAwIBAgIKJQnepAAAAAAAIzANBgkqhkiG9w0BAQUFADA2MRMwEQYKCZImiZPyLGQBGRYDY29tMRIwEAYKCZImiZPyLGQBGRYCcHcxCzAJBgNVBAMTAmNhMB4XDTExMTIyMjE2MzExOFoXDTEyMTIyMTE2MzExOFowADCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuUaSFIlprrGI1U63W4sUeCvbbLQrwyTo6fLhJo1lSoDEoDA3gGftFzCLTkmCsP4PMiU9OAcPWFWgIeJxrVwRUai8BJV31/2C8THm3pxUHUjB3Z1A1MT7E0G1htJveiQuN72oCo4F5r8Q9kT5E7WGJjvqI8n/ijXxfBZd+gNSayUCAwEAAaOCA2UwggNhMDsGCSsGAQQBgjcVBwQuMCwGJCsGAQQBgjcVCP/GWIaLOIWJjSmGuNUphNz9WECH1OFghaezIAIBZwIBBzBfBgNVHSUBAf8EVTBTBgorBgEEAYI3FAICBiUrBgEEAYI3FQj/xliGiziFiY0phrjVKYTc/VhAhO/0JYeF0FYBBggrBgEFBQcDAgYIKwYBBQUHAwQGCisGAQQBgjcKAwQwDgYDVR0PAQH/BAQDAgWgMBYGA1Ud IAEB/wQMMAowCAYGBACORgEBMG8GCSsGAQQBgjcVCgEB/wRfMF0wDAYKKwYBBAGCNxQCAjAnBiUrBgEEAYI3FQj/xliGiziFiY0phrjVKYTc/VhAhO/0JYeF0FYBMAoGCCsGAQUFBwMCMAoGCCsGAQUFBwMEMAwGCisGAQQBgjcKAwQwRAYJKoZIhvcNAQkPBDcwNTAOBggqhkiG9w0DAgICAIAwDgYIKoZIhvcNAwQCAgCAMAcGBSsOAwIHMAoGCCqGSIb3DQMHMB0GA1UdDgQWBBSdMcIM7BdnzGrx8SSpp9jLU9aFqTCCAWsGA1UdEQEB/wSCAV8wggFbhjhodHRwczovL3JhcHN0cjEuYmxvYi5jb3JlLndpbmRvd3MubmV0L29kcy95b3JrcG9yYy5odG0vI4Y3aHR0cHM6Ly9yYXBzdHIxLmJsb2IuY29yZS53aW5kb3dzLm5ldC9vZHMveW9ya3BvcmMuaHRtI4Y6aHR0cHM6Ly9yYXBzdHIxLmJsb2IuY29yZS53aW5kb3dzLm5ldC9vZHMveW9ya3BvcmMuaHRtLyNtZYY5aHR0cHM6Ly9yYXBzdHIxLmJsb2IuY29yZS53aW5kb3dzLm5ldC9vZHMveW9ya3BvcmMuaHRtI21lhjZodHRwczovL3JhcHN0cjEuYmxvYi5jb3JlLndpbmRvd3MubmV0L29kcy95b3JrcG9yYy5odG2GN2h0dHBzOi8vcmFwc3RyMS5ibG9iLmNvcmUud2luZG93cy5uZXQvb2RzL3lvcmtwb3JjLmh0bS8wHwYDVR0jBBgwFoAUGRUg5dtzBstKNWkCKJwEytiYGZswMwYDVR0fBCwwKjAooCagJIYiaHR0cDovL2NhLnB3LmNvbS9DZXJ0 RW5yb2xsL2NhLmNybDANBgkqhkiG9w0BAQUFAAOBgQBHa5SD8Q9jtPKP5R6jUijPAY3BSsMkt7bGkNW+iZklehEBsl+zV7MGMPOsWDknUA3QI6ayoDCD1Wbw2/ibVYfZgZskrJnFNSLzsy5s/OSjmN2CaKhIlTMWVAZc3UMK6m1hkCACWEbucU5Fp+tbjaJiE34mDNVWaYyh+6Rk+dICpw==>  .
> }
>
>
>
>
> I was aiming for 16.13.15.1 in http://docs.openlinksw.com/virtuoso/rdfsparqlrule.html
>
>
>
>
>
> I found http://events.linkeddata.org/ldow2010/papers/ldow2010_paper09.pdf useful for context (though ignore the usual stuff before 4.0).
>
>
>
>
>
>
>
> "There is already a notion of context built into RDF, namely
> named graphs [5]. Even though it is not part of the official
> standard (albeit, snuck into RDF through SPARQL and im-
> plemented in almost every tool-set), it is clear that part of
> the problem with owl:sameAs usage on the Semantic Web is
> that sameAs should not always be a statement between two
> URIs in a unqualified manner, but may be qualified as hold-
> ing only within a certain named graph."
>
>
>
> This is what I was trying to get at by saing, FOR THIS CONTEXT, I want the equivalencies to only hold ONLY in the context of an SSL Handshake, which delivering a mini named graph (the collection of URIs in the  SAN field). TO esetablish the context, I put the data URI into the owl:sameAs range, too. 		 	   		
>

Quick Response, hopefully you can discern what I am relaying:

URIs:

1. http://rapstr1.blob.core.windows.net/ods/user.ttl#me
2. http://yorkporc2.blogspot.com/#me

SPARQL:
# SELECT query using
# FROM to identify each named graph (by IRI) to which inference context 
is to be applied.

#DEFINE input:same-as "yes"
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX : <http://www.w3.org/ns/auth/cert#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

SELECT *
FROM 
<http://rdf-translator.appspot.com/parse?url=https%3A%2F%2Frapstr1.blob.core.windows.net%2Fods%2Fuser.ttl&if=n3&of=xml>
FROM <http://rapstr1.blob.core.windows.net/ods/user.ttl>
FROM <https://id.myopenlink.net/dataspace/person/home_pw>
FROM <http://yorkporc2.blogspot.com>
WHERE {

?s owl:sameAs ?o
}

Query Results Page: http://uriburner.com/c/IAOCDD .

Query Text Page: http://uriburner.com/c/IAOCDI .


#DESCRIBE Query that returns a directed graph (formats selectable) with 
inference context enabled

DEFINE input:same-as "yes"
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX : <http://www.w3.org/ns/auth/cert#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

DESCRIBE <http://rapstr1.blob.core.windows.net/ods/user.ttl#me>
FROM 
<http://rdf-translator.appspot.com/parse?url=https%3A%2F%2Frapstr1.blob.core.windows.net%2Fods%2Fuser.ttl&if=n3&of=xml>
FROM <http://rapstr1.blob.core.windows.net/ods/user.ttl>
FROM <https://id.myopenlink.net/dataspace/person/home_pw>
FROM <http://yorkporc2.blogspot.com>
WHERE {

?s cert:key ?o
}

Query Results page: http://uriburner.com/c/IAOCC4 .
Query Text page: http://uriburner.com/c/IAF224 .



Much easier to view the effects of enabing or disabling owl:sameAs 
inference context via these Faceted Browser links:

1. 
http://uriburner.com/describe/?url=http%3A%2F%2Fyorkporc2.blogspot.com%2F%23me&sas=yes&urilookup=1 
-- owl:sameAs inference context enabled

2. 
http://uriburner.com/describe/?url=http%3A%2F%2Fyorkporc2.blogspot.com%2F%23me&urilookup=1 
-- owlsameAs inference context disabled.

Problem:

Your owl:sameAs relation should be between two names. The data: scheme 
URL shouldn't be used as the object of this relation, it holds a blob. 
Instead, use a name that resolves to this data. I see utility in using 
the data: scheme URL to sign statement using terms from a reification 
ontology. This is basically like using xml sig but in the context of 
objects that represent triple based statements.

We just make statements about statements and in these descriptions 
include predicates for signature, hash, and certificate (which holds 
public key).

To simplify, we'll make the reification ontology for signing owl:sameAs 
claims so that we have the higher assurance that arises from signed 
equivalence claims in two places i.e., certificate in local store and 
idp space. This is beyond the basic WebID spec albeit fundamentally 
important for industrial grade commercial products.

-- 

Regards,

Kingsley Idehen	
Founder&  CEO
OpenLink Software
Company Web: http://www.openlinksw.com
Personal Weblog: http://www.openlinksw.com/blog/~kidehen
Twitter/Identi.ca handle: @kidehen
Google+ Profile: https://plus.google.com/112399767740508618350/about
LinkedIn Profile: http://www.linkedin.com/in/kidehen
Received on Tuesday, 3 January 2012 01:51:53 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 3 January 2012 01:51:54 GMT