Saturday, December 27, 2014

Links to "Building Social Applications with Linked Data Platform"

These March 2014 presentations give thoughts from Sandro Hawke, Andrei Sambra, and Tim Berners Lee, and others about the social web and a prototype called cimba.co with an illustration of the linked data platform at rww.io.
Also see the slides at http://www.w3.org/2014/Talks/0311-sandro/.
 

Building Social Applications with Linked Data Platform (LDP) -- Crosscloud -- Part 1 <https://www.youtube.com/watch?v=9g3f6_wfLdo>

Building Social Applications with Linked Data Platform (LDP) -- Crosscloud -- Part 2 <https://www.youtube.com/watch?v=9g3f6_wfLdo>

Edit: Part2 <https://www.youtube.com/watch?v=GtnB7aM1mTM>

Building Social Applications with Linked Data Platform (LDP) -- Crosscloud -- Part 3 <https://www.youtube.com/watch?v=ldfx1CdPsNQ>

It should be noted that it was mentioned that the Linked Data Platform has a lot in common with the AtomPub. I am guessing that this is the Atom Publishing Protocol illustrated in RFC5023 (http://tools.ietf.org/html/rfc5023).

 

Sunday, December 14, 2014

Monthly Update for December (in response to the Open Apps Ecosystem monthly updates)

Over the past several months I have been wire framing EISPP, or Enterprise Information System for Peer Production. By Enterprise Information System (http://en.wikipedia.org/wiki/Enterprise_information_system) I mean a way to handle large amounts of information for business. By using the term Peer Production (http://en.wikipedia.org/wiki/Peer_production), I am describing the structure of the enterprise. I do believe that the system could be flexible enough to handle any form of enterprise, so it could be a more generic enterprise system.


The entry point may be in a browser, or in some other form that uses HTTP.  I imagine this entry point to look like this:



This entry point does not represent the entire enterprise information system, but is merely a portal to it. It is a portal to the underlying data which would exist in a federated global database. There could be many of these portals both viewing data, and performing transformations on it. Indeed, the portal pictured above may not be the only type of portal.
  
One entry point, perhaps the most user friendly, would be the natural language query. If I searched, for example, for “Car Projects with Brent Shambaugh” I would get a set of documents containing Car Projects and Brent Shambaugh, a document with the term automobile that is semantically related to car, and a document describing what I contributed to (a wheel). I would also get ontology instances, the ontologies that they used, and through following specified linked data links I could get 1st degree linked data. Since some of these triples have common subjects or objects they can form an interconnected graph. The subjects and objects are nodes, while the connections between them are predicates.

 
This would be possible by searching an ontology index, a document index, and an annotations index linking the ontologies (including triples with instances of them) with the documents. This method came from Miriam Fernandez's Thesis titled, “Semantically enhanced Information Retrieval: an ontology based approach” (http://nets.ii.uam.es/miriam/thesis.pdf). Also a SPARQL query (http://www.w3.org/TR/sparql11-overview/) or linked data browser (http://www.w3.org/wiki/TaskForces/CommunityProjects/LinkingOpenData/SemWebClients) could help find 1st degree linked data (check this).
 
There may come a point where I wish to search amongst the data that was returned through the natural language query in such a way that I follow the same semantic relations. I could do this by using Enrico Franconi et al.'s method presented in “An intelligent query interface based on ontology navigation ” (http://ceur-ws.org/Vol-565/paper3.pdf). At the beginning the query (excluding natural language equivalents) would involve the parent class Thing, as shown below:

 
Completing the query with the graph pattern “Car hasPart Reflector” would give: (cover GSS button)

 
 
Completing this query would give: (update ontology instances on right side)

What if I wanted to prune triples from the resulting query? I can illustrate this on the original query “Car Projects with Brent Shambaugh”. If I elimate all triples with predicates rdf:type with fresnel lenses (http://www.w3.org/2005/04/fresnel-info/) I obtain: (eliminate triples from ontology instances and 1st degree linked data)


  I can enhance my view by applying color coding triples with graph style sheets

I can also add triples to the graph likely using the web widgets library developed by Hollenbach et al.

An alternative way to view query results could be Dov Dori's Object Process Methodology which gives natural language equivalents for triples in the graph:


Notice that if I select the wheel of the car I see the corresponding ontology that it is from in the right hand pane (alternatively, this I might try instances from the ontology that are currently in use):

 
 
 The previous highlighting is not native to OPM. Adding the git for triples (R&WBase) (http://ceur-ws.org/Vol-996/papers/ldow2013-paper-01.pdf)
view plus a fresnel and GSS gives:

  
I can also show the case of two different contributors to the same wheel:

 
I also may want to show the case where an external agent compensates another agent for a contribution to illustrate McCarthy's Resource Event Agent Methodology (https://www.msu.edu/user/mccarth4/McCarthy.pdf) (although I am not sure if it is correct OPM form to put an arrow link between the the paid and contribute processes):



I also may show what seems to be behind this transaction occuring over the ripple network with its metadata being expressed as linked data in the PaySwarm (https://web-payments.org/) form:

 Note that the licence URIs may need to be expressed with ODRL (

I could also show another contribution to the car, such as a motor, using the REA methodology:


 
Applications are kind of tricky. There needs to be a way to go from whatever things are called in the displayed graph to whatever they are called in the database of the application, say FreeCAD. Part 2 of ISO 15926 provides a reference data library to map to and from a database. Below is a generic form of figure 1.12 on page 34 of “Introduction to ISO15926” (https://www.posccaesar.org/wiki/ISO15926Primer).

But we also need a way to relate things by different names. Perhaps this is where part 2 of ISO 15926 comes in. It is an upper ontology called EXPRESS.

I also may want to attach conversations to particular projects. I might do this using rww.io and cimba.co (https://github.com/deiu/rww.io , https://github.com/linkeddata/cimba ). RWW.io may be used with cimba and data is stored as RDF which I'm guessing could reference to triples in the projects.

What to do for next month? In addition to the doubts above (e.g. parenthesis after colons), editing slides for OPM will need to be completed. Here is starting out using entities, and structural and procedural links from OPM.



VRM slides will also need to be expanded. VRM follows VRM principles (http://cyber.law.harvard.edu/projectvrm/Main_Page).

 Also P2P Computing in the architecture section, Internet of Things (I.O.T.), faceted browsing (see Simile Longwell), triple storage (such most used locally for faster querying), and loading data will need to be explored.

What is holding me up? To an extent other things, but also how fast I can think.

What motivates me most in this time? The prospect that doing this will open up new ways of doing things that will be affordable (which will hopefully lead to diverse projects in diverse fields).







Thursday, November 13, 2014

Uniquely identifying a project (in a distributed way)

I thought about using the description of a project vocabulary . It is for software, so I might need to modify it for hardware.

It is described in the Linked Open Vocabularies site hosted by the Open Knowledge Foundation, and is created by  Edd Dumbill


The particular link is: http://lov.okfn.org/dataset/lov/details/vocabulary_doap.html

I also found the Software Discovery Index which uses unique identifiers for software projects. I might want to check this out more. The particular link is:
http://softwarediscoveryindex.org/



Thursday, November 6, 2014

An offer: N-Quads above and a directed graph (guess) below


<http://example.org/articles/#offer> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://json-ld.org/playground/Offer> .
<http://example.org/articles/#offer> <https://w3id.org/commerce#payee> <http://example.org/outsiders/foaf.rdf#me> .
<http://example.org/articles/#offer> <https://w3id.org/commerce#payeeRule> _:b0 .
<http://example.org/articles/#offer> <https://w3id.org/payswarm#asset> <http://www.example.org/car_partOf.owl#Wheel_Of_Car> .
<http://example.org/articles/#offer> <https://w3id.org/payswarm#assetHash> "urn:sha256:02817609f8ffb72502e002defe7a426f8d433802f866ac88fc93c318b9130840" .
<http://example.org/articles/#offer> <https://w3id.org/payswarm#license> <http://www.tapr.org/TAPR_Open_Hardware_License_v1.0.txt> .
<http://example.org/articles/#offer> <https://w3id.org/payswarm#licenseHash> "0d8866836917f8ef58af44accb6efab9a10610ad" .
<http://example.org/articles/#offer> <https://w3id.org/payswarm#validFrom> "2014-02-02T03:51:08Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
<http://example.org/articles/#offer> <https://w3id.org/security#signature> _:b1 .
<http://example.org/outsiders/foaf.rdf#me> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://w3id.org/commerce#Payee> .
<http://example.org/outsiders/foaf.rdf#me> <http://www.w3.org/2000/01/rdf-schema#comment> "Payment for Wheel of Car through Ripple Network." .
<http://example.org/outsiders/foaf.rdf#me> <https://w3id.org/commerce#currency> <https://w3id.org/currencies/USD> .
<http://example.org/outsiders/foaf.rdf#me> <https://w3id.org/commerce#destination> <http://bshambaugh.org/foaf.rdf#me> .
<http://example.org/outsiders/foaf.rdf#me> <https://w3id.org/commerce#rate> "120.00" .
<http://example.org/outsiders/foaf.rdf#me> <https://w3id.org/commerce#rateType> "FlatAmount" .
_:b0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://w3id.org/commerce#PayeeRule> .
_:b0 <https://w3id.org/commerce#destinationOwnerType> "payment processor" .
_:b0 <https://w3id.org/commerce#maximumRate> "10" .
_:b0 <https://w3id.org/commerce#rateType> "com:InclusivePercentage" .
_:b1 <http://purl.org/dc/terms/created> "2014-02-02T03:51:08Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
_:b1 <http://purl.org/dc/terms/creator> <https://dev.payswarm.com/i/brentshambaugh/keys/1> .
_:b1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://w3id.org/security#GraphSignature2012> .
_:b1 <https://w3id.org/security#signatureValue> "fYb/QH0Ot3NALFtCsRxZR0rCAu76FUKjFwfWzD+PXYj/QtjC8Bcf+0eSlpo/89w/eZbuCqQ5O5SgTHyrhwGUgLFRlwsZYWwG7dgqXBlSh/zIAOf3PQ2IXyvGEQypIwggaJoBUmvRRoE1pJcBdVGXnINu3hTevUJisomPEDV37fi77EV+yihT+FRoQ9si/gXG7PQxD/8PnJ6a+N6Ix9jknRgF1q4xRf9mlBERW8fdP2GbPa2sHcrev4QD1fEUPjBonN+UxM0FEMM9rc7+PkiFribNStrV6F3s66MBF6m7zjkvRqXDuAdL3P2gQpOat9/P5iVmK6loHIHgZPePFoFf/A==" .


Publishing an Offer from the (Web Commerce 1.0 Spec) - rev. 1

With the http://json-ld.org/playground/index.html here is some updated syntax:
(Input)

{
  "@context": "https://w3id.org/payswarm/v1",
  "id": "http://example.org/articles/#offer",
  "type": "Offer",
  "payee": [{
    "id": "http://example.org/outsiders/foaf.rdf#me",
    "type": "Payee",
    "currency": "USD",
    "destination": "http://bshambaugh.org/foaf.rdf#me",
    "com:rate": "120.00",
    "com:rateType": "FlatAmount",
    "comment": "Payment for Wheel of Car through Ripple Network."
  }],
  "payeeRule": [{
    "type": "PayeeRule",
    "com:destinationOwnerType": "payment processor",
    "com:maximumRate": "10",
    "com:rateType": "com:InclusivePercentage"
  }],
  "asset": "http://www.example.org/car_partOf.owl#Wheel_Of_Car",
  "assetHash": "urn:sha256:02817609f8ffb72502e002defe7a426f8d433802f866ac88fc93c318b9130840",
  "license": "http://www.tapr.org/TAPR_Open_Hardware_License_v1.0.txt",
  "licenseHash": "0d8866836917f8ef58af44accb6efab9a10610ad",
  "validFrom": "2014-02-02T03:51:08Z",
  "signature": {
    "type": "GraphSignature2012",
    "created": "2014-02-02T03:51:08Z",
    "creator": "https://dev.payswarm.com/i/brentshambaugh/keys/1",
    "signatureValue": "fYb/QH0Ot3NALFtCsRxZR0rCAu76FUKjFwfWzD+PXYj/QtjC8Bcf+0eSlpo/89w/eZbuCqQ5O5SgTHyrhwGUgLFRlwsZYWwG7dgqXBlSh/zIAOf3PQ2IXyvGEQypIwggaJoBUmvRRoE1pJcBdVGXnINu3hTevUJisomPEDV37fi77EV+yihT+FRoQ9si/gXG7PQxD/8PnJ6a+N6Ix9jknRgF1q4xRf9mlBERW8fdP2GbPa2sHcrev4QD1fEUPjBonN+UxM0FEMM9rc7+PkiFribNStrV6F3s66MBF6m7zjkvRqXDuAdL3P2gQpOat9/P5iVmK6loHIHgZPePFoFf/A=="
 
  }
}

(Output - Normalized)

<http://example.org/articles/#offer> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://json-ld.org/playground/Offer> .
<http://example.org/articles/#offer> <https://w3id.org/commerce#payee> <http://example.org/outsiders/foaf.rdf#me> .
<http://example.org/articles/#offer> <https://w3id.org/commerce#payeeRule> _:c14n0 .
<http://example.org/articles/#offer> <https://w3id.org/payswarm#asset> <http://www.example.org/car_partOf.owl#Wheel_Of_Car> .
<http://example.org/articles/#offer> <https://w3id.org/payswarm#assetHash> "urn:sha256:02817609f8ffb72502e002defe7a426f8d433802f866ac88fc93c318b9130840" .
<http://example.org/articles/#offer> <https://w3id.org/payswarm#license> <http://www.tapr.org/TAPR_Open_Hardware_License_v1.0.txt> .
<http://example.org/articles/#offer> <https://w3id.org/payswarm#licenseHash> "0d8866836917f8ef58af44accb6efab9a10610ad" .
<http://example.org/articles/#offer> <https://w3id.org/payswarm#validFrom> "2014-02-02T03:51:08Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
<http://example.org/articles/#offer> <https://w3id.org/security#signature> _:c14n1 .
<http://example.org/outsiders/foaf.rdf#me> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://w3id.org/commerce#Payee> .
<http://example.org/outsiders/foaf.rdf#me> <http://www.w3.org/2000/01/rdf-schema#comment> "Payment for Wheel of Car through Ripple Network." .
<http://example.org/outsiders/foaf.rdf#me> <https://w3id.org/commerce#currency> <https://w3id.org/currencies/USD> .
<http://example.org/outsiders/foaf.rdf#me> <https://w3id.org/commerce#destination> <http://bshambaugh.org/foaf.rdf#me> .
<http://example.org/outsiders/foaf.rdf#me> <https://w3id.org/commerce#rate> "120.00" .
<http://example.org/outsiders/foaf.rdf#me> <https://w3id.org/commerce#rateType> "FlatAmount" .
_:c14n0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://w3id.org/commerce#PayeeRule> .
_:c14n0 <https://w3id.org/commerce#destinationOwnerType> "payment processor" .
_:c14n0 <https://w3id.org/commerce#maximumRate> "10" .
_:c14n0 <https://w3id.org/commerce#rateType> "com:InclusivePercentage" .
_:c14n1 <http://purl.org/dc/terms/created> "2014-02-02T03:51:08Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
_:c14n1 <http://purl.org/dc/terms/creator> <https://dev.payswarm.com/i/brentshambaugh/keys/1> .
_:c14n1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://w3id.org/security#GraphSignature2012> .
_:c14n1 <https://w3id.org/security#signatureValue> "fYb/QH0Ot3NALFtCsRxZR0rCAu76FUKjFwfWzD+PXYj/QtjC8Bcf+0eSlpo/89w/eZbuCqQ5O5SgTHyrhwGUgLFRlwsZYWwG7dgqXBlSh/zIAOf3PQ2IXyvGEQypIwggaJoBUmvRRoE1pJcBdVGXnINu3hTevUJisomPEDV37fi77EV+yihT+FRoQ9si/gXG7PQxD/8PnJ6a+N6Ix9jknRgF1q4xRf9mlBERW8fdP2GbPa2sHcrev4QD1fEUPjBonN+UxM0FEMM9rc7+PkiFribNStrV6F3s66MBF6m7zjkvRqXDuAdL3P2gQpOat9/P5iVmK6loHIHgZPePFoFf/A==" .

(Output- N Quads)

<http://example.org/articles/#offer> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://json-ld.org/playground/Offer> .
<http://example.org/articles/#offer> <https://w3id.org/commerce#payee> <http://example.org/outsiders/foaf.rdf#me> .
<http://example.org/articles/#offer> <https://w3id.org/commerce#payeeRule> _:b0 .
<http://example.org/articles/#offer> <https://w3id.org/payswarm#asset> <http://www.example.org/car_partOf.owl#Wheel_Of_Car> .
<http://example.org/articles/#offer> <https://w3id.org/payswarm#assetHash> "urn:sha256:02817609f8ffb72502e002defe7a426f8d433802f866ac88fc93c318b9130840" .
<http://example.org/articles/#offer> <https://w3id.org/payswarm#license> <http://www.tapr.org/TAPR_Open_Hardware_License_v1.0.txt> .
<http://example.org/articles/#offer> <https://w3id.org/payswarm#licenseHash> "0d8866836917f8ef58af44accb6efab9a10610ad" .
<http://example.org/articles/#offer> <https://w3id.org/payswarm#validFrom> "2014-02-02T03:51:08Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
<http://example.org/articles/#offer> <https://w3id.org/security#signature> _:b1 .
<http://example.org/outsiders/foaf.rdf#me> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://w3id.org/commerce#Payee> .
<http://example.org/outsiders/foaf.rdf#me> <http://www.w3.org/2000/01/rdf-schema#comment> "Payment for Wheel of Car through Ripple Network." .
<http://example.org/outsiders/foaf.rdf#me> <https://w3id.org/commerce#currency> <https://w3id.org/currencies/USD> .
<http://example.org/outsiders/foaf.rdf#me> <https://w3id.org/commerce#destination> <http://bshambaugh.org/foaf.rdf#me> .
<http://example.org/outsiders/foaf.rdf#me> <https://w3id.org/commerce#rate> "120.00" .
<http://example.org/outsiders/foaf.rdf#me> <https://w3id.org/commerce#rateType> "FlatAmount" .
_:b0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://w3id.org/commerce#PayeeRule> .
_:b0 <https://w3id.org/commerce#destinationOwnerType> "payment processor" .
_:b0 <https://w3id.org/commerce#maximumRate> "10" .
_:b0 <https://w3id.org/commerce#rateType> "com:InclusivePercentage" .
_:b1 <http://purl.org/dc/terms/created> "2014-02-02T03:51:08Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
_:b1 <http://purl.org/dc/terms/creator> <https://dev.payswarm.com/i/brentshambaugh/keys/1> .
_:b1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://w3id.org/security#GraphSignature2012> .
_:b1 <https://w3id.org/security#signatureValue> "fYb/QH0Ot3NALFtCsRxZR0rCAu76FUKjFwfWzD+PXYj/QtjC8Bcf+0eSlpo/89w/eZbuCqQ5O5SgTHyrhwGUgLFRlwsZYWwG7dgqXBlSh/zIAOf3PQ2IXyvGEQypIwggaJoBUmvRRoE1pJcBdVGXnINu3hTevUJisomPEDV37fi77EV+yihT+FRoQ9si/gXG7PQxD/8PnJ6a+N6Ix9jknRgF1q4xRf9mlBERW8fdP2GbPa2sHcrev4QD1fEUPjBonN+UxM0FEMM9rc7+PkiFribNStrV6F3s66MBF6m7zjkvRqXDuAdL3P2gQpOat9/P5iVmK6loHIHgZPePFoFf/A==" .

Tuesday, November 4, 2014

Publishing an Offer from the (Web Commerce 1.0 Spec)

 I went to https://web-payments.org/specs/source/web-commerce/
and looked at Example 4 in section 4.3. I changed @context namespace from http://w3id.org/payments/v1 to  https://w3id.org/payswarm/v1 as the first namespace did not resolve in the browser. By observing the payswarm-v1.jsonld file at https://web-payments.org/contexts/payswarm-v1.jsonld (deduced from https://github.com/perma-id/w3id.org/tree/master/webpayments) and https://web-payments.org/vocabs/commerce I was able to make the following conclusions:

{
  "@context": "https://w3id.org/payswarm/v1",
  "id": "http://www.example.org/car_partOf.owl#",
  "type": "Offer",
  "payee": [
    "id": "http://example.org/outsiders/foaf.rdf#me",
    "type": "Payee",
    "currency": "USD",
    "destination": "http://bshambaugh.org/foaf.rdf#me",
    "com:rate": "120.00",
    "com:rateType": "FlatAmount",
    "comment": "Payment for Wheel of Car through Ripple Network."
  }],
  "payeeRule": [{
    "type": "PayeeRule",
    "com:destinationOwnerType": "payment processor",
    "com:maximumRate": "10",
    "com:rateType": "com:InclusivePercentage"
  }],
  "asset": "http://www.example.org/car_partOf.owl#",
  "assetHash": "urn:sha256:02817609f8ffb72502e002defe7a426f8d433802f866ac88fc93c318b9130840",
  "license": "http://www.tapr.org/TAPR_Open_Hardware_License_v1.0.txt",
  "licenseHash": "0d8866836917f8ef58af44accb6efab9a10610ad",
  "validFrom": "2014-02-02T03:51:08Z",
  "signature": {
    "type": "GraphSignature2012",
    "created": "2014-02-02T03:51:08Z",
    "creator": "https://dev.payswarm.com/i/brentshambaugh/keys/1",
    "signatureValue": "fYb/QH0Ot3NALFtCsRxZR0rCAu76FUKjFwfWzD+PXYj/QtjC8Bcf+0eSlpo/89w/eZbuCqQ5O5SgTHyrhwGUgLFRlwsZYWwG7dgqXBlSh/zIAOf3PQ2IXyvGEQypIwggaJoBUmvRRoE1pJcBdVGXnINu3hTevUJisomPEDV37fi77EV+yihT+FRoQ9si/gXG7PQxD/8PnJ6a+N6Ix9jknRgF1q4xRf9mlBERW8fdP2GbPa2sHcrev4QD1fEUPjBonN+UxM0FEMM9rc7+PkiFribNStrV6F3s66MBF6m7zjkvRqXDuAdL3P2gQpOat9/P5iVmK6loHIHgZPePFoFf/A=="
 
The assetHash, licenseHash, signatureValue, and created are taken from an earlier blog post. I could not get my payswarm client to work as the npm package ursa (or something that I do not know about) was causing trouble.

Monday, November 3, 2014

Publishing a License (from the Web Commerce 1.0 spec)

{
        "@context": "https://w3id.org/payments/v1",
        "id": "license:TAPR_OHL",
        "type":"License",
        "format":"text/html",
        "licenseTemplate" : "http://www.tapr.org   /TAPR_Open_Hardware_License_v1.0.txt",
}


I was trying to get a local URI in my diagram identified by the URI "license:TAPR_OHL" to point to the text for the license template at the URI
"http://www.tapr.org   /TAPR_Open_Hardware_License_v1.0.txt". Later I would like 
"http://www.tapr.org   /TAPR_Open_Hardware_License_v1.0.txt" to be in the format "rdf/xml". I hope this is legal. I will need to check on IRC.








Sunday, November 2, 2014

Publishing an Asset

Looking at:
https://web-payments.org/vocabs/payswarm

and:

https://w3id.org/
https://github.com/perma-id/w3id.org

gives:

{

"@context" : "https://w3id.org/payswarm/v1",
"id": "http://www.example.org/car_partOf.owl#Wheel_of_Car",
"type": ["Asset", "rea:Resource"],
"creator":
   {
      "fullName": "Brent Shambaugh",
   }
   "assetContent": "http://www.example.org/car_partOf.owl#Wheel_of_Car",
   "assetProvider": "http://bshambaugh.org/foaf.rdf#me",
   "validFrom": "2010-11-27T01:44:52Z",
   "signature":
   {
       "type": "GraphSignature2012",
       "created": "2010-11-27T01:44:52Z",
       "creator": "https://payswarm.example.com/people/bshambaugh#key-1",
       "signatureValue": "bALjKXXuAbj2Xnfyivq...PHchb2jWFQMA="
   }
}

Sunday, October 19, 2014

Car Conceptuatlization in WordNet

This is my current conceptualization of the terms relating to car in the Wordnet hierarchy. Hierarchies are for synsets. synset-motor_vehicle-noun-1.rdf is a hyponymOf synset-self-propelled_vehicle-noun-1. wordsense-automotive-vehicle-noun-1 is a sense of word-automotive-vehicle which fits in the synset-motor_vehicle-noun-1.rdf synset.

Friday, October 17, 2014

Select Part_Of Ontology Triples

This is an attempt to write down all of the triples that describe the relation of a contribution to a wheel of a car. I am unsure, but the term wheel may not be needed since it is described with a hyponym relationship in the synset-car_wheel_noun-1.rdf file.

Tuesday, October 14, 2014

Drilling Down W3C Wordnet using Grep (a novice adventure)



 I downloaded wn20full (WordNet on the W3C site (http://www.w3.org/2006/03/wn/wn20/)) and searched the contents for instances of wheel. The first is the string "wheel" with and without spaces around it, and the second is the string "wheel" with spaces around it. I then looked at the output for appropriate instances of wheels that could be used on automobiles. Thank you grymoire for your wonderful tutorial on regular expressions (http://www.grymoire.com/Unix/Regular.html) that helped make this possible.

The commands were as follows:

grep -n "wheel" /home/brent/Downloads/wn20full/* > /home/brent/Documents/wheel_long.txt

grep -n " wheel " /home/brent/Downloads/wn20full/* > /home/brent/Documents/wheel_short.txt
-----------------------------------
I plan to use these for the REA construction presented earlier.The next step is to figure out what to use in this, and if it can be referenced online. It would be wonderful if I could also do a SPARQL query.

Saturday, October 4, 2014

Thanks

Thank you to..

Melvin Carvalho, Kingsley Idehen, Manu Sporny, Timothy Holborn, Jason Stone, Elf Palvik, Markus Sabadello, Owen Amber, Michel Bauwens, Gannon Dick, Samuel Rose, John Wilbanks, Greg S., Tyler Barton, Micah Alcorn, Jacob Johnson, Jaywalker, Cassady Dixon, Jack Senechal, Paul Trevithick, Justin Briggs, Rory Ford, Sean Satterlee, Amanda Harlin, Kendall Werts, Rhett Greenhagen, Lawrence Kincheloe, Toby Inkster, David Wood, Tiberius Brastaviceanu, Dan Weaver, Josh Cowan,Waylon Flinn, Carrie Olson, Beau Schwabe, Doc Searls, and countless others that I have not mentioned...

for your positive encouragement or assistance with this project

Wednesday, October 1, 2014

Concept Map to Structured Data


Illustration of the need for a tool that aids the user in converting a rough concept map to structured data expressed using standard ontologies.

Tuesday, September 30, 2014

Trying to install Fuseki

Is fuseki a simple local sparql endpoint to start with? My instinct is cwm, phpld, and gold are for the more experienced.  Maybe not cwm....I just want to sparql query data.

I will try Fuseki first:
I will start by Installing Java.
http://shinephp.com/install-jdk-7-on-ubuntu/

Then I will follow the tutorial, by first installing Jena and Fuseki.
http://jena.apache.org/tutorials/index.html


I started looking here:
https://jena.apache.org/tutorials/sparql_data.html

I have a fuseki server running at: http://localhost:3030/fuseki.html
I wonder if it will work. Thus far it has proved to be rewarding.

Monday, September 29, 2014

Chat on #swig for September 28, 2014 - Melvin's Discussion of Bitmark

It all started when Melvin Carvalho was using a hubot called klaranet on IRC which was awarding kudos to those in the room. It was another day on Freenode's #swig channel. He talked to me about his excitement about bitmark, a new form of crypto-currency, which is used by klaranet.

Bitmark's aim is to integrate crypto-currencies and RESTful principles with 5-star linked data. In its implementation, it uses URIs, which can be integrated with Payswarm, WebCredits (see also wiki), and Bitcoin. Bitmarks can be sent from URIs to other URIs, with the record of their movement stored as RDF. These URIs can then be used in IRC with klaranet. Bitmarks can also be sent to IRC nicknames (supposedly identifiers as Melvin described them), which can be authorized through registration with the network (at least on Freenode). In addition, Melvin believes that personas, which can be URIs describing people, will be tied together with owl:SameAs. From the discussion, it seems unclear if IRC nicknames can also refer to URIs.

In short he says the key of what he said was, "Apply the principals of Web Architecture and Fielding’s REST to cryptographic currency, in order to become truly decentralized and scale without limits"

The Bitmark project started only recently, as indicated by the Bitcoin talk forum,  and so far it has been doing quite well. A recent interview about Bitmark is also available at Bitcoinist.





Sunday, September 28, 2014

Things to do (September 28, 2014)

 To do (concerning views in http://bshambaugh.org/eispp3.pdf)

(1)

On page 16 there are OPM Structural Links:

http://www.er.byu.edu/er2003/slides/ER2003PT1Dori.pdf

These will need to be considered and added so the REA and partOf relations to look something like the example on pages 92 to 93.

(2)

When reading James Dylan Hollenbach's thesis (http://dig.csail.mit.edu/2010/rdf-widgets/thesis.pdf), he mentions that Exhibit (http://people.csail.mit.edu/dfhuynh/research/papers/www2007-exhibit.pdf) is great for new developers, but is not very customizable. This led to search for other sources about Linked Data
(http://people.csail.mit.edu/dfhuynh/research/papers/www2007-exhibit.pdf).

 To do (concerning Provenance in http://bshambaugh.org/eispp3.pdf)

(1) rawbase (R&WBase)

I read the R&WBase paper:
http://ceur-ws.org/Vol-996/papers/ldow2013-paper-01.pdf

But I still have yet to check out any code on their project site. Eventually 
http://rawbase.github.io/

To do (concerning conversation with Markus Sabadello):

(1)
See if you can implement the NRP Logging your work tutorial as linked data
https://docs.google.com/presentation/d/1YxPuis1_jbcSxUTqntd4ltBLg9IZP2oscE0Kovd15vo/edit#slide=id.p

(2)

Look at the Linked Data Platform, and see if there are actual applications that you can look at? http://www.w3.org/TR/ldp/
Can you run them on a FreedomBox (with each person's triples on a separate box)

edit: okay I found some implementations from the dataversity video below:
http://www.w3.org/wiki/LDP_Implementations

Look at introduction the Linked Data Platform:
http://video.dataversity.net/video/the-w3c-linked-data-platform-ldp/

edit: mentions http://open-services.net/

Comment on the list perhaps:
http://lists.w3.org/Archives/Public/public-ldp-comments/










Constructing triples for rea and partOf relations

The figure is an attempt to map part-whole relations, the rea ontology,  and Wordnet terms to triples using the part-whole and rea model diagrams earlier.

Please note the other urls: http://www.w3.org/2006/03/wn/wn20/instances/word-automobile.rdf (wn20instances:word-automobile), http://www.w3.org/2006/03/wn/wn20/instances/word-item.rdf (wn20instances:word-item)

I would like to expand the word item with lexical file number 06, frequency 16, offset 03593583 and definition "a whole or individual unit; especially when included in a list or collection". (from: wordnet.princeton.edu)

However, I am not sure how to query the WordNet data on the w3c site. The website http://w3.org/TR/wordnet-rdf/#queries gives some example queries. I will have to figure out how to load these into a triple store and query them. Perhaps I will use Neo4j (http://www.neo4j.org/) and set up a sparql endpoint with this. (or just figure out how to run a sparql query of the one at w3.org). Later, I would like to use a tuplestore such as Linda.

Earlier I thought about using regular expressions to go through the wn20full.zip [download available at (http://www.w3.org/2006/03/wn./wn20/download/)]. I'd want to use something like grep (http://www.gnu.org/software/grep/manual/grep.html), which may be made easier by looking at the regexone site (http://regexone.com/).

Wednesday, September 24, 2014

P2P Computing - Architecture

This is meant to illustrate  concept that users should be able to choose nodes that will perform peer to peer computing. These nodes may be participants in a project. In reality, this choice may be a bit more difficult, and may depend on what is available at the best price. In addition, this illustration shows a geographical distribution of nodes. In addition, it may be useful to specify HPC variables of the compute architecture.

Monday, September 22, 2014

Simple Part Whole Class Diagram (checking with Protege)

I guess I made the mistake of not putting Faults for the wheel, motor, headlight, and  Car as subclasses of fault. In addition note that wheel points to wheel_of_car, motor points to motor_of_car,  and headlight points to headlight of car.

Simple Part Whole Relations Diagram


A class diagram above, and a property diagram below of simple-part-whole relations v1.3 (with personal extensions guessed from the document).
http://www.w3.org/2001/sw/BestPractices/OEP/SimplePartWhole/simple-part-whole-relations-v1.3.html

Sunday, September 21, 2014

Yes, REA with prov and wn namespaces!


Figuring out REA




Presently I am looking at how to fill the empty box in the top figure with the word contribute. It's meaning defined by WordNet.
http://www.w3.org/TR/wordnet-rdf/

The rea namespace rea: is defined by the diagrams below.

Tuesday, February 11, 2014

The Error You Get When You Try to Run register-new-key.js in in the PaySwarm Examples when disconnected from the Internet

$ node register-new-key.js
Reading config from: "/home/shambaughlab/.config/payswarm1/default"...
[register-new-key] failed to register key:
 Error: getaddrinfo ENOTFOUND
    at errnoException (dns.js:37:11)
    at Object.onanswer [as oncomplete] (dns.js:124:16)

Thursday, February 6, 2014

Notes from PaySwarm Wordpress Plugin., pt 4

I reinstalled Wordpress, but I found some errors of my doing when I did so. The first thing that I noticed was that I forgot to type make in the console, therefore rendering the plugin inoperable. It gave an error that it could not find jsonld.php (if I can recall correctly). After typed make in the console as it suggests on the github website (https://github.com/digitalbazaar/payswarm-wordpress/blob/master/README.md) I ran into another error that involved not registering a key. I saw this error when I was trying to create a new post. It reported an issue with line 1321 of the file payswarm-client.inc with registering a private key (if I can recall correctly). I then ran into another error  when I was trying to register the key. I got an error in a pop-up box with the title, "404 Not Found", and the contents, "Not Found" for the title, and "The requested URL /wordpress/wp-content/plugins/payswarm/payswarm-register.php was not found on this server" for the body.

Right now I figure the next step is to change the title of the payswarm plugin folder from "payswarm-wordpress" to payswarm.

I found that I had trouble getting the wordpress console to recognize the change, so I logged out then reinstalled the payswarm plugin from github in the wordpress plugins folder I took care to avoid the errors that I made before. In addition, I discovered that I needed to publish my posts rather than just preview them. It seems to work now:

Go to the links at http://bshambaugh.org/wordpress/

Wednesday, February 5, 2014

Notes from PaySwarm Wordpress Plugin., pt 3

I went through the Webkeys Demo for Wordpress
(https://www.youtube.com/watch?v=LlXlJj2UeZU) and I got this output:
 /----------------------------------------
Error The vendor that you are attempting to purchase something from has provided us with a bad asset listing. This is typically a problem with their e-commerce software. You may want to notify them of this issue.

Error Details httpStatusCode: 400 listing: http://bshambaugh.org/wordpress/?p=7#listing listingHash: urn:sha256:25722494b760808671d80bbfb9e11a4be9e72825642e1083df47bf4ae9415707 --------------------------------------------/ I am not sure why.

The reason why I was not able to see the Payswarm buttons before, or really anything, must have been because I did not put any Payswarm related stuff in my blog post. Namely stuff like: BEGIN_PAYSWARM_UNPAID_ONLY_CONTENT, END_PAYSWARM_UNPAID_ONLY_CONTENT, PAYSWARM_ACCESS_BUTTON, BEGIN_PAYSWARM_PAID_CONTENT, END_PAYSWARM_PAID_CONTENT which is mentioned where I downloaded the plugin.
https://github.com/digitalbazaar/payswarm-wordpress

Heh, I guess I must have skipped  couple of steps. I was following the video, and not all of the steps are mentioned in it, but they are mentioned on the github site. Time to start again.

Notes from WordPress Plugin for PaySwarm, pt 2

When I clicked on register this site at dev.payswarm.com I found I had to change my password, which involved using a special e-mail in my e-mail account. I am not sure why this was.

Once I did have a usable password I accessed the Payswarm login screen through a pop-up window. I got a warning message at the Access Key Registration Screen that told me that although this page was encrypted the information is being sent over an unencrypted connection. I think this okay, and I think I heard Manu talk about it during a payswarm teleconference.

Once I had the plugin installed I was not sure how to use the plugin to limit the amount of my blog that was viewed without payment.

Actually I do not see the post appearing at all:

http://bshambaugh.org/wordpress/


Notes from PaySwarm WordPress Plugin, pt 1, (about git and ssh and sshfs)

I found it easiest to clone the PaySwarm git repository to my local machine and then copy the files to my Webfaction server. It appears that I can also sshfs into the Webfaction server and run git directly there.

I can unmount my network folder using fusermount -u ~/{truncated_path_to_file_folder} (1), where remote_server where {truncated_path_to_file_folder} is the name that I gave to my network folder that was originally mounted from the command line with the command: sshfs username@server.webfaction.com:{path_to_target_folder} {path_to_folder_on_local_machine} where {truncated_path_to_file_folder} was in my path on the local machine. To get fusermount to work correctly, I must close the console window that is accessing the file folder on the local machine. If I do not I get the error: fusermount: failed to unmount {path_to_folder_on_local_machine}: Device or resource busy.

To simply ssh into my webfaction server I use ssh username@server.webfaction.com (2). I find I can actually run git from there, but not npm which in a terminal that is not sshed into it. I figure git must be installed on the server that I am acessing. If I use sshfs it appears the folder appears as if it was local, so everything that works on my local machine will work in the mounted network folder in a gross extrapolation.

See this for reference:
(1) https://help.ubuntu.com/community/SSHFS
(2) http://docs.webfaction.com/user-guide/access.html#connecting-with-ssh

Sunday, February 2, 2014

Results of Purchasing with PaySwarm

I am going through the PaySwarm Mozilla Hacks tutorial at:

 https://hacks.mozilla.org/2013/04/web-payments-with-payswarm-purchasing-part-3-of-3/

There were some issues with the sqllite database after the merger as detailed in this public-webpayments@w3.org mailing list thread:

http://lists.w3.org/Archives/Public/public-webpayments/2014Feb/0006.html

Purchasing from the console was also difficult, as detailed here:

http://lists.w3.org/Archives/Public/public-webpayments/2014Feb/0011.html

I ended up having two usernames, but I eventually got through things.

Todo: Web Keys Demo - WordPress
https://www.youtube.com/watch?v=LlXlJj2UeZU

Goal: Have some sort of website using PaySwarm


Results of Publishing an Asset with a Payswarm Authority

I went through the tutorial and I got this:

brent@brent-desktop:~/payswarm.js/examples$ curl http://listings.dev.payswarm.com/payswarm.js/143f0b8a0ab#asset | json_pp
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
103  3199    0  3199    0     0  11259      0 --:--:-- --:--:-- --:--:-- 25388
{
   "@graph" : [
      {
         "assetContent" : "http://listings.dev.payswarm.com/payswarm.js/143f0b8a0ab",
         "creator" : {
            "fullName" : "publish-asset-for-sale.js Example"
         },
         "assetProvider" : "https://dev.payswarm.com/i/brentshambaugh",
         "@context" : "https://w3id.org/payswarm/v1",
         "signature" : {
            "created" : "2014-02-02T03:51:08Z",
            "signatureValue" : "bALjKXXuAbj2XnfyivqWQO6Kzm+JOursrmevlpeK0OmZfC06bZqC9AiO4La6FD7ShZlJizc6uxUxgLWgs5EjyuFsz6BkF3ezxv7fmQAa1v3Vr+zrw4VN+XBu8GTGpIkWAv226Wu8ELtrL72YEStL1YOmetoyC0Ec4lLQDunqYkkSscTOjJIl/l0l9NSjsQj3NYYTxS1dHcMs5j4PDLXCe4pkUoCA9FpJna6SMdgto0wbPSniDsmb6p6n3E/ILYd4VMOnB11eczUIZ94xpJ8EJyJdVTpMw7r/6eDZwVlpwtTIIH75ZZhOrIvW+DVMk7gt/ExNwCqk/5PHchb2jWFQMA==",
            "creator" : "https://dev.payswarm.com/i/brentshambaugh/keys/1",
            "type" : "GraphSignature2012"
         },
         "id" : "http://listings.dev.payswarm.com/payswarm.js/143f0b8a0ab#asset",
         "type" : [
            "Asset",
            "pto:WebPage"
         ],
         "title" : "Test Asset 143f0b8a0ab",
         "listingRestrictions" : {
            "validUntil" : "2015-02-02T03:51:08Z",
            "payeeRule" : [
               {
                  "payeeGroupPrefix" : [
                     "authority"
                  ],
                  "type" : "PayeeRule"
               },
               {
                  "payeeRateType" : "FlatAmount",
                  "payeeGroup" : [
                     "vendor"
                  ],
                  "type" : "PayeeRule",
                  "payeeApplyType" : "ApplyExclusively"
               }
            ],
            "payee" : [
               {
                  "payeeRateType" : "Percentage",
                  "destination" : "https://dev.payswarm.com/i/brentshambaugh/accounts/primary",
                  "currency" : "USD",
                  "comment" : "Asset Provider Royalty",
                  "payeeRate" : "80",
                  "minimumAmount" : "0.01",
                  "payeeGroup" : [
                     "assetProvider"
                  ],
                  "id" : "http://listings.dev.payswarm.com/payswarm.js/143f0b8a0ab#asset-payee-1",
                  "type" : "Payee",
                  "payeeApplyType" : "ApplyInclusively",
                  "payeeApplyGroup" : [
                     "vendor"
                  ]
               }
            ],
            "validFrom" : "2014-02-02T03:51:08Z"
         }
      },
      {
         "licenseHash" : "urn:sha256:d9dcfb7b3ba057df52b99f777747e8fe0fc598a3bb364e3d3eb529f90d58e1b9",
         "payeeRule" : [
            {
               "maximumPayeeRate" : "10",
               "payeeRateType" : "Percentage",
               "payeeGroupPrefix" : [
                  "authority"
               ],
               "type" : "PayeeRule",
               "payeeApplyType" : "ApplyInclusively"
            }
         ],
         "assetHash" : "urn:sha256:02817609f8ffb72502e002defe7a426f8d433802f866ac88fc93c318b9130840",
         "payee" : [
            {
               "payeeRateType" : "FlatAmount",
               "destination" : "https://dev.payswarm.com/i/brentshambaugh/accounts/primary",
               "currency" : "USD",
               "payeeRate" : "0.05",
               "comment" : "Payment for selling Test Asset 143f0b8a0ab.",
               "payeeGroup" : [
                  "vendor"
               ],
               "id" : "http://listings.dev.payswarm.com/payswarm.js/143f0b8a0ab#listing-payee-1",
               "type" : "Payee",
               "payeeApplyType" : "ApplyExclusively"
            }
         ],
         "license" : "https://w3id.org/payswarm/licenses/blogging",
         "validFrom" : "2014-02-02T03:51:08Z",
         "validUntil" : "2015-02-02T03:51:08Z",
         "signature" : {
            "created" : "2014-02-02T03:51:08Z",
            "signatureValue" : "fYb/QH0Ot3NALFtCsRxZR0rCAu76FUKjFwfWzD+PXYj/QtjC8Bcf+0eSlpo/89w/eZbuCqQ5O5SgTHyrhwGUgLFRlwsZYWwG7dgqXBlSh/zIAOf3PQ2IXyvGEQypIwggaJoBUmvRRoE1pJcBdVGXnINu3hTevUJisomPEDV37fi77EV+yihT+FRoQ9si/gXG7PQxD/8PnJ6a+N6Ix9jknRgF1q4xRf9mlBERW8fdP2GbPa2sHcrev4QD1fEUPjBonN+UxM0FEMM9rc7+PkiFribNStrV6F3s66MBF6m7zjkvRqXDuAdL3P2gQpOat9/P5iVmK6loHIHgZPePFoFf/A==",
            "creator" : "https://dev.payswarm.com/i/brentshambaugh/keys/1",
            "type" : "GraphSignature2012"
         },
         "@context" : "https://w3id.org/payswarm/v1",
         "id" : "http://listings.dev.payswarm.com/payswarm.js/143f0b8a0ab#listing",
         "type" : [
            "Listing",
            "gr:Offering"
         ],
         "asset" : "http://listings.dev.payswarm.com/payswarm.js/143f0b8a0ab#asset",
         "vendor" : "https://dev.payswarm.com/i/brentshambaugh"
      }
   ],
   "@context" : "https://w3id.org/payswarm/v1"
}

Saturday, February 1, 2014

Review of the Video "PaySwarm - Asset Registration"

I went through the video "Payswarm - Asset Registration" on YouTube. I found that I needed to install the perl module json_pp by following the instructions in README to complete it. More related information is available at Mozilla Hacks with PaySwarm: Assets and Listings (part 2 of 3) that I will have to check out more tomorrow.

Registering a Key with Payswarm.js

In the past two days I went through "Web Payments with PaySwarm: Identity (part 1 of 3)" on the Mozilla Hacks website. I encountered some difficulty due to an outdated version of payswarm.js and a few missing modules. The latest version of payswarm.js is available at https://github.com/digitalbazaar/payswarm.js. The modules are available at the npm website https://npmjs.org/. The ones I installed were: ursa, async, jsonld, mkdirp, pkginfo, prompt, and commander. I did this with the "npm install [module name]" command, e.g. npm install ursa. I talked on the IRC channel #payswarm and received a response from dlongley archived in this thread on the webpayments mailing list.