Skip to content

Instantly share code, notes, and snippets.

View kendall's full-sized avatar

Kendall Clark kendall

View GitHub Profile
@kendall
kendall / thrift-output-osx
Created October 25, 2010 15:21
Here's the 'brew install -v thrift' output on my OSX box where thrift (0.5) won't compile
We couldn’t find that file to show.
[$]> ; wget --header "Accept:text/turtle" http://ps.clarkparsia.com/ -O ps-desc.ttl
{
"ps-discovery": {
"response-mimetype": [
"text/json",
"application/rdf+xml",
"application/x-turtle",
"application/x-ntriples"
],
"endpoint": {
"http-methods": ["GET"],
{
"service-discovery" : {
"response-mimetype" : [ "text/json", "application/rdf+xml", "application/x-turtle", "application/x-ntriples" ],
"endpoint" : {
"http-methods" : [ "GET" ],
"url" : "http://foo:8080/"
}
},
"knowledge-bases" : [ {
"name" : "wine",
// now we can delete our new book
aManager.remove(aNewBook);
// false!
System.err.println(aManager.contains(aNewBook));
// but the new manifestation still exists, since we did not specify that deletes should cascade...
// true!
System.err.println(aManager.contains(aPDFManifestation));
// Lastly, we can use the query API to run arbitrary sparql queries
// create a jpql-style partial SPARQL query (JPQL is currently unsupported)
Query aQuery = aManager.createQuery("where { ?result frbr:embodiment ?manifest." +
" ?foo <http://purl.org/goodrelations/v1#typeOfGood> ?manifest . " +
" ?foo <http://purl.org/goodrelations/v1#hasPriceSpecification> ?price. " +
" ?price <http://purl.org/goodrelations/v1#hasCurrencyValue> ?value. " +
" ?price <http://purl.org/goodrelations/v1#hasCurrency> \"USD\"@en." +
" filter(?value > ??min). }");
// this query should return instances of type Book
// but can be refreshed...
aManager.refresh(aNewBookCopy);
// and now contains the correct, up-to-date information
System.err.println(aNewBookCopy.getTitle());
System.err.println(aNewBookCopy.getEmbodiments());
// let's edit our book...maybe we changed the title and published as a PDF
aNewBook.setTitle("Return of the Empire");
// create a new manifestation
Manifestation aPDFManifestation = new Manifestation();
aPDFManifestation.setIssued(new Date());
// set the dc:type attribute
aPDFManifestation.setType(URI.create("http://purl.oreilly.com/product-types/PDF"));
aNewBook.setEmbodiments(Arrays.asList(aPDFManifestation));
Book aNewBookCopy = aManager.find(Book.class, aNewBook.getRdfId());
// true!
System.err.println(aNewBook.equals(aNewBookCopy));