Re: Reification, Named Graphs, Embedded RDF XML, Mathematical Semantics and RDFa

On Jan 6, 2013, at 12:46 PM, Adam Sobieski <adamsobieski@hotmail.com> wrote:

> Math Working Group,
> RDFa Working Group,
> Semantic Web Interest Group,
> 
> Greetings. I would like to broach for discussion some topics about RDFa-enhanced hypertext documents, reification, named graphs, embedded RDF XML, and mathematical semantics.
> 
> Reification and Named Graphs
> 
> "In Semantic Web languages, such as Resource Description Framework (RDF) and Web Ontology Language (OWL), a statement is a binary relation. It is used to link two individuals or an individual and a value. Applications sometimes need to describe other RDF statements, for instance, to record information like when statements were made, or who made them, which is sometimes called 'provenance' information. As an example, we may want to represent properties of a relation, such as our certainty about it, severity or strength of a relation, relevance of a relation, and so on." (http://en.wikipedia.org/wiki/Reification_(computer_science)#RDF_and_OWL)
> 
> Reification in RDF is illustrated in RDF Primer (http://www.w3.org/TR/rdf-primer/) in examples 19 and 20 (http://www.w3.org/TR/rdf-primer/#example19, http://www.w3.org/TR/rdf-primer/#example20) and in RDF 1.1 XML Syntax Specification in example 20 (http://dvcs.w3.org/hg/rdf/raw-file/default/rdf-xml/index.html#example20).
> 
> "Named graphs are a key concept of Semantic Web architecture in which a set of Resource Description Framework statements (a graph) are identified using a URI, allowing descriptions to be made of that set of statements such as context, provenance information or other such metadata." (http://en.wikipedia.org/wiki/Named_graph)
> 
> While some describe named graphs as a conceptual superset of reification functionality, both features are useful to have with regard to expressiveness in XML-based formats, such as HTML+RDFa; RDFa should include both reification and named graph functionality.

AFAIK, reification is being considered archaic by the RDF 1.1 working group; it's thought that named graphs support the use cases of reification without requiring a data transform. As I understand it, the use case is to reify statements, so that properties can be asserted on the statement:

[ a rdf:Statement; rdf:subject :s; rdf:predicate :p; rdf:object :o ] :some_interesting :fact .

Use a named graph also allows statements to be made against a statement, by enclosing that statement in a named graph:

<s> { :s :p :o . }

{ <s> :some_intereseting :fact . }

Unless something changes in RDF 1.1, I don't expect that you'll see native-support for statement reification show up in any other serialization format, including RDFa.

Named graphs, however, I think will find more and more use. It's too late for anything based on RDFa 1.1, but I expect that RDFa 1.2 (or 2.0) if/when it comes about, will include support for named graphs.

> In hypertext documents, graph triples can be reified syntactically in RDFa, with RDFa syntactic sugar, and <script> elements, <metadata> elements, <annotation> and <annotation-xml> elements can each contain RDF XML as well as other semantic formats.
> 
> Embedded RDF XML, Mathematical Semantics and RDFa
> 
> <math>
>   <semantics>
>     ...
>     <annotation-xml encoding="application/ssml+xml">...</annotation-xml>
>     ...
>     <annotation-xml encoding="application/openmath+xml">...</annotation-xml>
>     <annotation-xml encoding="application/rdf+xml">...</annotation-xml>
>   </semantics>
> </math>
> 
> 
> The indicated MathML can be enhanced with RDFa in ways including: (a) RDFa on the <math> element and on the <annotation-xml> element with the RDF XML version of the mathematical semantics, (b) RDFa on the <math> element and the utilization of a collection ontology (e.g. http://purl.org/co/), a collection with the semantics of multipart MIME, multipart/alternative, and RDFa on a number of the indicated <annotation-xml> elements.
> 
> An RDFa parser (http://www.w3.org/TR/rdfa-core/#s_model, http://www.w3.org/TR/rdfa-core/#s_rdfaindetail) could process the contents of the <annotation-xml> element in a number of ways including parsing the RDF XML content into the default graph.

As I discussed privately, I think this is the purview of a host language, not RDFa Core. RDFa is designed to be used with host languages that define rules for using RDFa within their content-type. For example, SVG has rules for both RDF/XML and RDFa content. In this case, if <math> is defined in a namespace for which you can define a content-type, you can specify the way in which compliant processors should handle embedded elements and attributes. This can include processing of normal RDFa attributes on these tags, and defining semantics for @encoding on the <annotation-xml> element within that namespace, which can allow you to associate rules for @encoding="application/rdf+xml" or anything else.

> Future Directions
> 
> Future directions include uses of RDFa on the scales of entire documents, chapters, sections, subsections and across multiple paragraphs. Argumentation and mathematical proofs are examples of such uses of RDFa in hypertext-based documents, digital books and digital textbooks. Mathematical proofs, including those in documents with complex document structure, can be processed into RDF graphs from hypertext-based documents, including the semantics of mathematical expressions.
> 
> Existing argumentation and proof representation formats include: Argument Interchange Format (AIF), AIF-RDF, Argument Markup Language (AML), Legal Knowledge Interchange Format (LKIF), Open Mathematical Documents (OMDoc), Proof Markup Language (PML), Thousands of Problems for Theorem Provers (TPTP), and Thousands of Solutions for Theorem Provers (TSTP). Additionally, new formats and ontologies are possible for argumentation, for mathematical proofs, in RDFa-enhanced hypertext-based documents, digital books and digital textbooks.
> 
> With RDFa, the thesis statements, topic sentences, and supporting sentences in documents can be indicated, as can relationships between claims, evidence, measurement and methodology, enhancing document navigation, enhancing the indexing, search, and retrieval of documents, enhancing content discovery, and enhancing document summarization.

This sounds like it might be a good use case for named graphs and output a dataset, rather than a single graph. One way to do this within a host language definition, would be to add an attribute to the <annotation-xml> element, such as @graphName, which would identify the name of a graph into which the enclosed documents should be parsed. You could then, in the body of the document, use RDFa to make statements relative to that graph name; this doesn't require any change to RDFa, but does require that processors support the special processing rules defined for MathML.

Gregg

> The quoting and citing of referenced materials and the cross-referencing of document elements pertain to argumentation structures in documents. Where documents quote or cite referenced materials, argumentation structures in RDFa may have typed links to referenced materials or to content in referenced materials and where documents cross-reference document elements, argumentation structures in RDFa may have typed links to document elements.
> 
> 
> 
> Kind regards,
> 
> Adam Sobieski

Received on Monday, 7 January 2013 18:51:57 UTC