[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [tag] Proof of Concept Example of Representation
Closer to a typical RDF expression of a couple of test assertions (RDF validated with W3C validator) and a corresponding RDF graph (attached, along with zipped version of rdf file): <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:my-ta1="http://purl.oclc.org/NET/systml#example1" xmlns:my-ta2="http://purl.oclc.org/NET/systml#example2" xmlns:ta="http://purl.oclc.org/NET/systml#fictitious-example-ta-schema"> <rdf:Description rdf:about="http://purl.oclc.org/NET/systml#ubl1/Invoice.Details/" ta:Id="http://purl.oclc.org/NET/systml#UBL-Invoice-1_0-example-1_0-subset-0_1-ta-00001"> <my-ta1:SchemaValidity rdf:resource="http://docs.oasis-open.org/ubl/cd-UBL-1.0/xsdrt/maindoc/UBL-Invoice-1.0.xsd"/> <ta:SpecRef rdf:resource="http://purl.oclc.org/NET/systml#UBL-Invoice-1_0-example-1_0-subset-0_1-statement-00001"/> <ta:SpecRef rdf:resource="http://purl.oclc.org/NET/systml#UBL-Invoice-1_0-example-1_0-subset-0_1-statement-00001a"/> </rdf:Description> <rdf:Description rdf:about="http://purl.oclc.org/NET/systml#ubl1/Invoice.Details/" ta:Id="http://purl.oclc.org/NET/systml#UBL-Invoice-1_0-example-1_0-subset-0_1-ta-00002"> <my-ta2:Contains rdf:resource="http://purl.oclc.org/NET/systml#ubl1/Invoice.IssueDate.Date/"/> <ta:SpecRef rdf:resource="http://purl.oclc.org/NET/systml#UBL-Invoice-1_0-example-1_0-subset-0_1-statement-00002"/> </rdf:Description> </rdf:RDF> > > Quoting stephen.green@systml.co.uk: > >> Of course, with RDF, as well as catering for a splitting >> of the predicate into property name and property value >> (target A 'has a property called B with a value C') it >> also provides for the splitting of the predicate into a >> verb and object (more like our view of a predicate) so >> >> rdf:subject = TA Target >> rdf:predicate = verb of what we'd call the predicate >> rdf:object = object noun(s) of what we'd call the predicate >> >> This might be more practical for some types of TA predicates. >> It seems a bit arbitrary, then, how the predicate is split. >> So it seems that rdf:predicate has a coded value or name and >> rdf:object typically has a literal value; rdf:object is more >> variable while rdf:predicate is more likely to be a fixed >> value defined in a list somewhere. In my example the rdf:pre- >> dicate is itself a name-value pair with 'Property' as the >> general name and with values 'Contains' and 'SchemaValid' >> which are limited vocabulary coded values, well-defined >> somewhere. So 'Property' could be a name defined for TAs in >> general while 'Contains' and 'SchemaValid' would be more >> specific to the subject of the specification or implementation >> and it might be best left to TA writers to list and define these. >> 'Contains', however might be considered so generic as to warrant >> being defined for TAs as a whole, along with a few other terms >> like it. >> >> Quoting stephen.green@systml.co.uk: >> >>> Another way to represent the test assertions using RDF might be >>> like that below. >>> Not sure about whether it's OK to use dc:identifier for TA ID or >>> OK to use rdf:Statement with rdf:about pointing to Spec Ref. >>> Not sure how to make more complex TAs this way. (May be safer to >>> create a special TA vocabulary instead of just using RDF's and >>> perhaps Dublin Cores's to make the semantics specific to TAs.) >>> >>> Subject = TA Target >>> Predicate = name of name/value pair of what we'd call the predicate >>> Object = value of name/value pair of what we'd call the predicate >>> >>> It should be well within scope of RDF to add qualifiers for targets >>> and/or to include classes and subclasses of targets, I would think. >>> >>> >>> >>> <?xml version="1.0"?> >>> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >>> xmlns:dc="http://purl.org/dc/elements/1.1/"> >>> <rdf:Description >>> rdf:about="http://purl.oclc.org/NET/systml#UBL-Invoice-1_0-example-1_0-subset-0_1-example" dc:date="2007-12-24T10:37:00" dc:title="Example Test Assertion List for example 1.0 >>> Invoice >>> Subset"> >>> <rdf:Statement >>> rdf:about="http://purl.oclc.org/NET/systml#UBL-Invoice-1_0-example-1_0-subset-0_1-statement-00001"> >>> <rdf:subject >>> rdf:resource="http://purl.oclc.org/NET/systml#ubl1/Invoice.Details/"/> >>> <rdf:predicate >>> rdf:resource="http://purl.oclc.org/NET/systml#Property">SchemaValid</rdf:predicate> >>> <rdf:object >>> rdf:resource="http://docs.oasis-open.org/ubl/cd-UBL-1.0/xsdrt/maindoc/UBL-Invoice-1.0.xsd"/> >>> <dc:identifier >>> rdf:resource="http://purl.oclc.org/NET/systml#UBL-Invoice-1_0-example-1_0-subset-0_1-ta-00001"/> >>> </rdf:Statement> >>> <rdf:Statement >>> rdf:about="http://purl.oclc.org/NET/systml#UBL-Invoice-1_0-example-1_0-subset-0_1-statement-00002"> >>> <rdf:subject >>> rdf:resource="http://purl.oclc.org/NET/systml#ubl1/Invoice.Details/"/> >>> <rdf:predicate >>> rdf:resource="http://purl.oclc.org/NET/systml#Property">Contains</rdf:predicate> >>> <rdf:object >>> rdf:resource="http://purl.oclc.org/NET/systml#ubl1/Invoice.IssueDate.Date/"/> >>> <dc:identifier >>> rdf:resource="http://purl.oclc.org/NET/systml#UBL-Invoice-1_0-example-1_0-subset-0_1-ta-00002"/> >>> </rdf:Statement> >>> </rdf:Description> >>> </rdf:RDF> >>> >>> >>> >>> >>> Quoting stephen.green@systml.co.uk: >>> >>>> That file didn't come out too well on the mail list archive >>>> - the .rdf extension appears as a '.bin' file online and gets >>>> wrongly treated by applications so here is a slightly improved >>>> version with a .xml extension and minor corrections. (Just a >>>> proof of concept taking a fictitious UBL subsetting use case.) >>>> >>>> - Steve >>>> >>>> Quoting stephen.green@systml.co.uk: >>>> >>>>> Just been experimenting a little with a representation idea. >>>>> It works out quite well. It's RDF but could be converted to >>>>> any other representation. (Starting with RDF might ensure >>>>> GRDDL could be used, say, to convert to a form for Semantic >>>>> Web or storage in RDF database.) What works nicely is the >>>>> fact that limited vocabularies (keywords/tags) can be created >>>>> locally in an accompanying file and pointed to using XML:base >>>>> and IDs. No Prerequisites here or dependencies or qualifiers >>>>> but these should be easily added I hope. >>>>> -- >>>>> Stephen Green >>>>> >>>>> Partner >>>>> SystML, http://www.systml.co.uk >>>>> Tel: +44 (0) 117 9541606 >>>>> >>>>> http://www.biblegateway.com/passage/?search=matthew+22:37 .. and voice >>>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]