IW Meeting 2011-07-14

From Inference Web

Jump to: navigation, search

Contents

Meeting Information

Attendees

  • Tim (same bat channel)
  • Paulo (regret - attending ESIP - Stephan is also here)
  • Li (regret unless there are critical issues)
  • Deborah

Agenda

(pml-p and pml-j diagrams at [1]) Announcements:

Discussion

Verify values of properties

  • Example: pmlj:hasSourceUsage's range is pmlp:SourceUsage. In a pmlj:InferenceStep instance, is the value of pmlj:hasSourceUsage an instance of pmlp:SourceUsage?
  • Tim: yes. (and also in situations where the subject of pmlj:hasSourceUsage is NOT a pmlj:InferenceStep instance)

Cynthia: The Validator the value of property is validated against the range. If you have a hasSourceUsage being used, does it point to an instance of SourceUsage? (yes). But when you follow the Resoruce URI and find that it is NOT a SourceUsage.

Tim: is this from an example?

Cynthia: there are some.

Cynthia: The user data does not follow the ontology.

Jim: But the ontology implies the type SourceUsage.

Deborah: has reasoning been done but not typed, or is the instance also type [ owl:disjointWith SourceUsage ]

TODO: Cynthia to find examples. Cynthia to describe new requirement for validator. putting first.ttl.rdf into the Browser URI at IW with first.ttl.rdf

Cynthia claims that "Provenance(Source): https://github.com/timrdf/csv2rdf4lod-automation/raw/master/test/source/lebot/pvload-chain/version/2011-May-20/automatic/firstName.ttl.rdf " is NOT a Source.

Cynthia woiuld make a

Jim: but https://raw.github.com/timrdf/csv2rdf4lod-automation/master/test/source/lebot/pvload-chain/version/2011-May-20/automatic/firstName.ttl.rdf does not say that it is a pmlp:Source.

TODO: Tim to outline the full context of this example. a pmlp:Source should be a DESCRIPTION of the source (not the source itself)

Cynthia: hasURL.

What Tim has http://inference-web.googlegroups.com/attach/e3bfc3e5ac1bba0e/first.ttl.rdf:

<https://github.com/timrdf/csv2rdf4lod-automation/raw/master/test/source/lebot/pvload-chain/version/2011-May-20/automatic/firstName.ttl.rdf>
    a <http://inference-web.org/2.0/pml-provenance.owl#Source> .
What happens when this is stated?
<https://github.com/timrdf/csv2rdf4lod-automation/raw/master/test/source/lebot/pvload-chain/version/2011-May-20/automatic/firstName.ttl.rdf>
    a <http://inference-web.org/2.0/pml-provenance.owl#Source> ;
   <http://inference-web.org/2.0/pml-provenance.owl#hasURL> "https://github.com/timrdf/csv2rdf4lod-automation/raw/master/test/source/lebot/pvload-chain/version/2011-May-20/automatic/firstName.ttl.rdf"^^xsd:anyURI
Proposed contents of http://inference-web.googlegroups.com/attach/e3bfc3e5ac1bba0e/first.ttl.rdf
<pmlp:hasSourceUsage>
   <pmlp:hasSource>
      <pmlp:Source rdf:about="https://github.com/timrdf/csv2rdf4lod-automation/raw/master/test/source/lebot/pvload-chain/version/2011-May-20/automatic/firstName.ttl.rdf">
         <pmlp:hasURL>https://github.com/timrdf/csv2rdf4lod-automation/raw/master/test/source/lebot/pvload-chain/version/2011-May-20/automatic/firstName.ttl.rdf</pmlp:hasURL>
      </pmlp:Source>
   </pmlp:hasSource>
</pmlp:hasSourceUsage>
<pmlp:hasSourceUsage>
         <pmlp:SourceUsage>
            <pmp:hasUsageSourceTime type="xsd:dateTime">today at 12:00:03.444</pmlp:hasUsageSourceTime>
            <!-- Cynthia's suggestion: -->
            <pmlp:hasURL>https://github.com/timrdf/csv2rdf4lod-automation/raw/master/test/source/lebot/pvload-chain/version/2011-May-20/automatic/firstName.ttl.rdf</pmlp:hasURL>
            
            <!-- Tim's suggestion: -->
            <pmlp:hasSource>
               <pmlp:Source rdf:about="https://github.com/timrdf/csv2rdf4lod-automation/raw/master/test/source/lebot/pvload-chain/version/2011-May-20/automatic/firstName.ttl.rdf">
                  <!-- This hasURL triple is redundant but is here to be backward compatible with PML tools -->
                  <pmlp:hasURL>https://github.com/timrdf/csv2rdf4lod-automation/raw/master/test/source/lebot/pvload-chain/version/2011-May-20/automatic/firstName.ttl.rdf</pmlp:hasURL>
               </pmlp:Source>
            </pmlp:hasSource>
         <pmlp:SourceUsage>
  </pmlp:hasSourceUsage>
Example of a situation where the source is NOT PML (and not even RDF):
<pmlp:Information>
  <pmlp:hasLanguage>English</pmlp:hasLanguage>
  <pmlp:hasRawString>Tim is affiliated with RPI.</pmlp:hasRawString>
  </pmlp:Information>
  
<pmlp:Information>
  <pmlp:hasLanguage>RDF</pmlp:hasLanguage>
    <pmlp:hasFormat>text/x-turtle</pmlp:hasLanguage>
  <pmlp:hasRawString>:Tim nfo:hasAffiliation [ :some :RPI ] </pmlp:hasRawString>
  </pmlp:Information

Tim's alternative:

<pmlp:hasSourceUsage>
         <pmlp:SourceUsage>
            <pmp:hasUsageSourceTime type="xsd:dateTime">today at 12:00:03.444</pmlp:hasUsageSourceTime>            
            <pmlp:hasSource>
               <pmlp:Document rdf:about="http://inference-web.org/w/images/1/17/Twc-website-publications-workflow.pdf">  <!-- Cynthia's concern: this does not resolve to PML -->
               </pmlp:Document>
            </pmlp:hasSource>
         <pmlp:SourceUsage>
  </pmlp:hasSourceUsage>
Cynthia's alternative:
           <pmlp:hasSource>
               <pmlp:Document>  <!-- Tim's concern: this is a level of indirection; I'd rather just describe it -->
                   <pmlp:hasURL>http://inference-web.org/w/images/1/17/Twc-website-publications-workflow.pdf</pmlp:hasURL> 
                </pmlp:Document>
               </pmlp:Source>
            </pmlp:hasSource>

Tim's Grand Unified Theory of Cynthia and Tim:

<pmlp:hasSourceUsage>
         <pmlp:SourceUsage>
            <pmp:hasUsageSourceTime type="xsd:dateTime">today at 12:00:03.444</pmlp:hasUsageSourceTime>            
            <pmlp:hasSource>
               <pmlp:Document rdf:about="http://inference-web.org/w/images/1/17/Twc-website-publications-workflow.pdf">           <!-- Tim gets to say it directly -->
                   <pmlp:hasURL>http://inference-web.org/w/images/1/17/Twc-website-publications-workflow.pdf"</pmlp:hasURL>  <!-- Cynthia follows the path she needs -->
               </pmlp:Document>
            </pmlp:hasSource>
         <pmlp:SourceUsage>
  </pmlp:hasSourceUsage>

Cynthia's Grand Unified Theory of Cynthia and Tim:

<pmlp:hasSourceUsage>
         <pmlp:SourceUsage>
            <pmlp:hasUsageSourceTime type="xsd:dateTime">today at 12:00:03.444</pmlp:hasUsageSourceTime>            
            <pmlp:hasSource>
                <pmlp:Document rdf:about="#doc3">
                 <pmlp:hasURL>http://inference-web.org/w/images/1/17/Twc-website-publications-workflow.pdf</pmlp:hasURL>  <!-- Cynthia follows the path she needs -->
               </pmlp:Document>
            </pmlp:hasSource>
         <pmlp:SourceUsage>
  </pmlp:hasSourceUsage>
  
  
<pmlp:hasSourceUsage>
         <pmlp:SourceUsage>
            <pmlp:hasUsageSourceTime type="xsd:dateTime">today at 12:00:03.444</pmlp:hasUsageSourceTime>            
            <pmlp:hasURL>http://inference-web.org/w/images/1/17/Twc-website-publications-workflow.pdf</pmlp:hasURL>  <!-- Cynthia follows the path she needs -->
         <pmlp:SourceUsage>
  </pmlp:hasSourceUsage>

Are Source and Description of the Source disjoint?

Jim's phrasing of Cynthia's perspective: pmlp:Source is a description of a source, not the source itself and they cannot be the same thing.

instances of pmlp:Source must be resolvable and that contents of the resolution must be PML that describes a DIFFERENT URI for the actual source.


Deborah: what if we loosened this requirement and just point to some NYT article or PDF file or arbitrary RDF? We wouldn't get as much for these cases.

Tim: (But we can "make up" for what we "lose" by including the descriptions we need in the "first" PML that we point a tool to (and not putting it at the Source))


Definition: Is it "REALLY" a pmlp:Source - "really" - dereference the URI parse teh graph and see if it ALSO types it to pmlp:Source .


Deborah: we cannot require data providers to type their data as pmlp:Source

Tim: (but we could provide additional value if they _did_)

Jim: The fact that it itself does not state that it is a Source does NOT mean that it is not a source.

Deborah: we don't control those providing documents and we can't expect to get PML into those.

CAN BE as opposed to MUST BE first.owl has: .....

        <pmlp:hasURL>http://inference-web.googlegroups.com/attach/e3bfc3e5ac1bba0e/first.ttl.rdf</pmlp:hasURL>   <--- This is the wrong URL

...

One disadvantage:

  • accessing the source does not provide any information about the soruce (it just provides the content).

One advantage:

  • We can then work with things that are not PML literate (we do not require the people hosting the data we use to modify their data for us to use it)
  • What other properties does Cynthia's tool need about a Source (beyond pmlp:hasURL)? Tim needs to know this when he asserts the provenance.

(and if this approach works, we will have to figure out what other proper

TODO: Tim add pml:hasURL <subjectURI> to be backward compatible with tools.

TODO: Tim to rerun this example for a PDF, add a triple to the "Source" and show Cynthia the desired display when clicking on the source.

Just in time (indirect) property values

  • In a "straight forward" situation, the value of a property is "ready" and in, for example pml format, or a resource uri points direct to a well marked up document. Do we also want to support property values that need further processing? These property values could be sparql queries, search requests or web service urls, etc.. The actual value of a property is the result of executing of what appears as the property value in the document.
  • Tim: I think an example will help a lot here.
  • Tim: What do you mean by "ready", "in pml format", "further processing"?
  • Tim: "The actual value" is the URI, not whatever you happen to receive when you request it today or tomorrow.

Cynthia: a value is a "A query request", the value of the property is "indirect" and needs further processing to get the value.

Tim: example? have a conclusion somewhere. normally, the conclusion is a raw string.

done: Cynthia: find an example. (Tim found one see next meeting)

TODO: Tim and Jim to get new example for SPARQL query. (http://granite.med.yale.edu:2020 is now http://sparql.tw.rpi.edu/provenance/)

Cynthia: Example:

  • 1. Use this uri to feed iwbrowser:

http://inference-web.googlegroups.com/attach/e3bfc3e5ac1bba0e/first.ttl.rdf?gda=R_cJS0cAAADoGr4Ggo5yYfrgMrpQVIhoFKX4L7UHF5MSHz5KpQLwnfrdiFWRRKMGkHJlnuG5gyMbQwFxJw55cVwemAxM-EWmeV4duv6pDMGhhhZdjQlNAw&part=2

  • 2. Click the first NodeSet link (file:///...4444f5)
  • 3. There is no conclusion string shown. pmlp:hasConclusion has range of pmlp:Information. The displayed conclusion string in iwbrowser comes from a pmlp:Inform ation instance's pmlp:hasRawString or pmlp:hasPrettyString .
  • 4. Here is the markup of the NodeSet and its pmlp:hasConclusion of this example:
<rdf:Description rdf:about="file:///Users/lebot/Desktop/pvload-chain/source/nodeSet_d259cf76-21a8-4cfe-b11f-5ee1001444f5">
<rdf:type rdf:resource="http://inference-web.org/2.0/pml-justification.owl#NodeSet"/>
</rdf:Description>

<rdf:Description rdf:about="file:///Users/lebot/Desktop/pvload-chain/source/nodeSet_d259cf76-21a8-4cfe-b11f-5ee1001444f5">
<ns0:isConsequentOf rdf:resource="file:///Users/lebot/Desktop/pvload-chain/source/infStep_d259cf76-21a8-4cfe-b11f-5ee1001444f5"/></rdf:Description>

<rdf:Description rdf:about="file:///Users/lebot/Desktop/pvload-chain/source/nodeSet_d259cf76-21a8-4cfe-b11f-5ee1001444f5">
<ns0:hasConclusion rdf:resource="http://logd.tw.rpi.edu/sparql?query=PREFIX%20sd%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2Fns%2Fsparql-service-description%23%3E%20CONSTRUCT%20%7B%20%3Fendpoints_named_graph%20%3Fp%20%3Fo%20%7D%20WHERE%20%7B%20GRAPH%20%3Chttp%3A%2F%2Fpurl.org%2Ftwc%2Fid%2Fperson%2FTimLebo%3E%20%7B%20%5B%5D%20sd%3Aurl%20%3Chttp%3A%2F%2Flogd.tw.rpi.edu%3A8890%2Fsparql%3E%3B%20sd%3AdefaultDatasetDescription%20%5B%20sd%3AnamedGraph%20%3Fendpoints_named_graph%20%5D%20.%20%3Fendpoints_named_graph%20sd%3Aname%20%3Chttp%3A%2F%2Fpurl.org%2Ftwc%2Fid%2Fperson%2FTimLebo%3E%3B%20%3Fp%20%3Fo%20.%20%7D%20%7D"/>
</rdf:Description>

URI namespace points to a html file

Jim: This is not quite true. The page is doing content negotiation. Tim: I realized after I stated that. (actually, we need to discuss b/c I'm not clear - I was expecting a 303 redirect to RDFXML, but I now see that I was confounding these two behaviors)

bash-3.2$ curl -I -H "Accept: application/rdf+xml" -L http://www.semanticdesktop.org/ontologies/nfo/
HTTP/1.1 200 OK
Date: Thu, 14 Jul 2011 20:26:23 GMT
Server: Apache/2.2.9 (Debian)
Last-Modified: Fri, 13 Nov 2009 17:45:06 GMT
ETag: "96d20-c5b6-4784438638c80"
Accept-Ranges: bytes
Content-Length: 50614
Content-Type: application/rdf+xml

Java code to do content negotiation

pmlp:hasSource <http://boakes.org/rdf-content-negotiation>:

String u = “http://rdfx.org/schema/2004/10/19-java”;
URL url = new URL;
URLConnection urlc = url.openConnection();
urlc.setRequestProperty(“Accept”, “application/rdf+xml”);
urlc.connect();
InputStream in = urlc.getInputStream();
model.read(inStream, u);
inStream.close();

TODO: CYnthia to use this code to get RDF/XML from http://www.semanticdesktop.org/ontologies/nfo/#hasHash

Is TPTP "in plunk"?

https://scm.escience.rpi.edu/trac/ticket/532

Steps:

Under "Check for the file's root" at https://github.com/timrdf/plunk/wiki/Are-my-PML-instances-listed%3F:

http://inference-web.org/proofs/tptp/Problems/
http://inference-web.org/proofs/tptp/Solutions/
http://inference-web.org/proofs/tptp/MizarProofs/

Searching for "http://inference-web.org/proofs/t" concludes that the three roots above are NOT in plunk.

A web root in plunk: (line 16 of https://github.com/timrdf/plunk/blob/master/instances/web-directories/manual/pml-pointers.ttl): ---> http://inference-web.org/proofs/wino/

Personal tools
Navigation