From: Tomasz P. <tom...@gm...> - 2014-07-04 07:49:28
|
I do not know. Rob, please help us out here :) On Fri, Jul 4, 2014 at 9:42 AM, song xin <son...@gm...> wrote: > Hi, Tom > > I think Example 15 in section 2.13 is what I want…. > Can dotnetpdf output like that? > > Thanks again! > > 在 4 Jul 2014,08:17,Tomasz Pluskiewicz <tom...@gm...> 写道: > >> The document actually represents 5 triples. Those you mention and >> additionally the rdf:type property for both resources. >> >> <MyClass01Id> rdf:type <KB:MyClass01> . >> <MyClass02Id> rdf:type <KB:MyClass02> . >> >> This is implicit by using a typed XML node. >> >> <KB:MyClass02 rdf:about="MyClass02Id" /> >> >> is equivalent to (relevent parts ommitted) >> >> <rdf:Description><rdf:type>type</rdf:type></rdf:Descritpion>. >> >> Please have a look at section 2.13 of RDF syntax documentation [1]. >> >> I don't think that it is possible with dotNetRDF to enforce one way or >> another of writing RDF/XML documents. >> >> Rob, is it? >> >> Tom >> >> [1] http://www.w3.org/TR/rdf-syntax-grammar/#section-Syntax-typed-nodes >> >> On Fri, Jul 4, 2014 at 8:48 AM, song xin <son...@gm...> wrote: >>> Tom, Thank you very much, and sorry for not clearing myself >>> I forgot typing <hasMyClass02>, so the complete one will like this >>> —————————————————— >>> <rdf:RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns# >>> xmlns:KB="http://protege.stanford.edu/kb#"> >>> <KB:MyClass01 rdf:about="MyClass01Id"> >>> <hasProperty01>the value of this property</hasProperty01> >>> <hasMyClass02> >>> <KB:MyClass02 rdf:about="MyClass02Id"> >>> <hasProperty02 >the value of this property</hasProperty02> >>> </KB:MyClass02> >>> </hasMyClass02> >>> </KB:MyClass01> >>> </rdf:RDF> >>> —————————————————— >>> (I think this is the correct format of >>> —————————————————— >>> <MyClass01Id> <hasProperty01> "the value of this property". >>> <MyClass01Id> <hasMyClass02> <MyClass02Id> . >>> <MyClass02Id> <hasProperty02> "the value of this property". >>> —————————————————— >>> , right? >>> ) >>> You see, I cannot create that “<KB:MyClass01…” thing but only “<rdf:Description…”, >>> because I think the target system also might need to know “MyClass01Id” is an instance of type “MyClass01” >>> (as well as “MyClass02Id” is an instance of type “MyClass02”) >>> maybe I just cannot do like this? >>> I will contact the guys working in target system to look how to solve. >>> >>> Thank you for the information! I should have read them more carefully. >>> >>> 在 3 Jul 2014,19:57,Tomasz Pluskiewicz <tom...@gm...> 写道: >>> >>>> First, your example is not a valid RDF/XML. AFAIK text nodes are >>>> valid, when they are a value of a literal property. Such as Bob is 20 >>>> years old. In NTriples: >>>> >>>> <Bob> <age> 20 . >>>> >>>> could be written as >>>> >>>> <rdf:Description rdf:about="Bob> >>>> <age>20</age> >>>> </rdf:Description> >>>> >>>> or it could use XML attribute >>>> >>>> <rdf:Description rdf:about="Bob age="20" /> >>>> >>>> Your example is missing one part of the triple. Either predicate or >>>> object. The subject is MyClass01ID but what is xxx? A full statement >>>> about MyClass01ID requires that there is a verb (predicate/property) >>>> and the value (object). >>>> >>>> I must stress again, that a RDF-aware system cannot require any >>>> specific formatting of a RDF/XML document. I understand that maybe >>>> other RDF formats aren't supported but in the end it is the data that >>>> s important and it can be written in various ways without chaging the >>>> meaning. >>>> >>>> I could also suggest that you read some introductory documents about >>>> RDF like [1] and maybe RDF/XML documentation [2], since you are >>>> working with that format. Though by using dotNetRDF or any other >>>> library you shouldn't be at all concerned with it. It is the graph >>>> that matters and you should never really have to manipulate raw >>>> RDF/XML document save maybe for debugging. >>>> >>>> Tom >>>> >>>> [1] http://www.w3.org/TR/rdf11-primer/ >>>> [2] http://www.w3.org/TR/rdf-syntax-grammar/ >>>> >>>> On Thu, Jul 3, 2014 at 5:39 PM, son...@gm... >>>> <son...@gm...> wrote: >>>>> Thank you for the help >>>>> >>>>> but I am sorry that I still not very clear how to do >>>>> the target system requires this format: >>>>> >>>>> ------------------------------------ >>>>> <MyClass01 rdf:about="MyClass01ID"> >>>>> xxx >>>>> </MyClass01> >>>>> ------------------------------------ >>>>> How can i create this (not rdf:Description xxx)? >>>>> >>>>> Best Wishes >>>>> >>>>> ________________________________ >>>>> son...@gm... >>>>> >>>>> From: Tomasz Pluskiewicz >>>>> Date: 2014-07-03 15:21 >>>>> To: dotNetRDF Developer Discussion and Feature Request >>>>> Subject: Re: [dotNetRDF-Develop] Writing <rdf:about> as RDF/XML format >>>>> In RDF this is a relation like any other. You state exactly what you >>>>> described, that a resource is of a given type. And you declare that >>>>> statement with a triple like any other fact about your resources. >>>>> >>>>> You use the predicate rdf:type [1]. There is a handy class called >>>>> VDS.RDF.Parsing.RdfSpecsHelper, which contains the correct Uri of the >>>>> rdf namespace. >>>>> >>>>> On Thu, Jul 3, 2014 at 4:03 PM, son...@gm... >>>>> <son...@gm...> wrote: >>>>>> Thank you so much Tom! >>>>>> >>>>>> there only just one question left: >>>>>> Since the target system need to know the class type, i.e., >>>>>> ==> MyClass01Id is a MyClass01 >>>>>> How can I express this in dotnetrdf? >>>>>> >>>>>> >>>>>> ________________________________ >>>>>> son...@gm... >>>>>> >>>>>> From: Tomasz Pluskiewicz >>>>>> Date: 2014-07-01 21:53 >>>>>> To: dotNetRDF Developer Discussion and Feature Request >>>>>> Subject: Re: [dotNetRDF-Develop] Writing <rdf:about> as RDF/XML format >>>>>> On Tue, Jul 1, 2014 at 12:23 PM, son...@gm... >>>>>> <son...@gm...> wrote: >>>>>>> Thank you Tom! >>>>>>> >>>>>>> You are right, basically what I am trying to do is converting following >>>>>>> class: >>>>>>> ------------------------------------- >>>>>>> class MyClass01 { >>>>>>> public string Property01 {get; set;} >>>>>>> public MyClass02 myClass02 {get; set;} >>>>>>> } >>>>>>> //the instance of class has its own unique id >>>>>>> >>>>>> >>>>>> I strongly suggest that you think in terms of triples or graphs and >>>>>> not their serializaitions. So given an instance of MyClass01 you could >>>>>> have the following data >>>>>> >>>>>> <MyClass01Id> <hasProperty01> "the value of this property". >>>>>> <MyClass01Id> <hasMyClass02> <MyClass02Id> . >>>>>> >>>>>> This is all you need. These two triples would be stored the way you >>>>>> used in the earlier email (remember to use proper URIs). I know >>>>>> nothing about MyClass02 at this point, just the hypothetical id. It >>>>>> would add further similar triples >>>>>> >>>>>> Notice how this notation (NTriples/Turtle) removes any unnecessary >>>>>> syntactic clutter and leaves only the subjects, predicates and >>>>>> objects. >>>>>> >>>>>>> >>>>>>> ------------------------------------- >>>>>>> to this kind of text >>>>>>> ------------------------------------- >>>>>>> <rdf:RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns# >>>>>>> xmlns:KB="http://protege.stanford.edu/kb#"> >>>>>>> <KB:MyClass01 rdf:about="that unique id"> >>>>>>> <hasProperty01 >the value of this property</hasProperty01> >>>>>>> <MyClass02 rdf:about="the unique id"> >>>>>>> //MyClass02's content >>>>>>> </MyClass02> >>>>>>> </KB:EndToEndBlueprintRoot> >>>>>>> </rdf:RDF> >>>>>>> ------------------------------------- >>>>>>> >>>>>> >>>>>> You must keep in mind that with RDF/XML there are multiple ways to >>>>>> write the same document. It means that the structure can change, while >>>>>> the actual data doesn't. >>>>>> >>>>>>> >>>>>>> Also I have to use this kind of format because it is the input of another >>>>>>> system I have to use... >>>>>>> >>>>>> >>>>>> In memory you keep the data (triples) and dotNetRDF helps you save it >>>>>> in one of the RDF formats. If the other system requires that you use >>>>>> RDF/XML, that's fine but you could save it as Turtle or Notation3. >>>>>> >>>>>>> >>>>>>> Thank you again! >>>>>>> >>>>>>> ________________________________ >>>>>>> son...@gm... >>>>>>> >>>>>>> From: Tomasz Pluskiewicz >>>>>>> Date: 2014-07-01 10:13 >>>>>>> To: dotNetRDF Developer Discussion and Feature Request >>>>>>> Subject: Re: [dotNetRDF-Develop] Writing <rdf:about> as RDF/XML format >>>>>>> On Tue, Jul 1, 2014 at 7:44 AM, son...@gm... >>>>>>> <son...@gm...> wrote: >>>>>>>> Hi, all >>>>>>>> >>>>>>>> I am trying to write a RDF/XML like follows: >>>>>>>> ------------------------------------------------------- >>>>>>>> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >>>>>>>> xmlns:KB="http://protege.stanford.edu/kb#"> >>>>>>>> <KB:EndToEndBlueprintRoot >>>>>>>> rdf:about="http://protege.stanford.edu/kb#DemoRootImagineID001"> >>>>>>>> xxxxx >>>>>>>> </KB:EndToEndBlueprintRoot> >>>>>>>> </rdf:RDF> >>>>>>>> ------------------------------------------------------- >>>>>>>> >>>>>>> >>>>>>> First of all this document is not a valid RDF/XML. >>>>>>> >>>>>>>> Here is my code >>>>>>>> ------------------------------------------------------- >>>>>>>> INode s = g.CreateUriNode("kb:"+"EndToEndBlueprintRoot"); >>>>>>>> INode p = g.CreateUriNode("rdf:about"); >>>>>>>> INode o = g.CreateUriNode("kb:"+"DemoRootImagineID001"); >>>>>>>> >>>>>>>> g.Assert(new Triple(s,p,o)); >>>>>>>> >>>>>>>> RdfXmlWriter rxw = new RdfXmlWriter(); >>>>>>>> string res = VDS.RDF.Writing.StringWriter.Write(g, rxw); >>>>>>>> ------------------------------------------------------- >>>>>>>> >>>>>>> >>>>>>> Secondly, the rdf:about is just a RDF/XML syntax feature and not a >>>>>>> predicate. It denotes that part of an RDF/XML document is grouped with >>>>>>> a common subject. Please read [1]. >>>>>>> >>>>>>> You should think in terms of triples, which define a relation >>>>>>> (predicate) between two objects (subjects and objects). That is much >>>>>>> like in natural language. >>>>>>> >>>>>>>> >>>>>>>> But only got this >>>>>>>> ------------------------------------------------------- >>>>>>>> <rdf:RDF xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" >>>>>>>> xmlns:xsd="http://www.w3.org/2001/XMLSchema#" >>>>>>>> xmlns="http://example.org/" >>>>>>>> xmlns:a="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >>>>>>>> xmlns:kb="http://protege.stanford.edu/kb#" >>>>>>>> xmlns:ns0="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >>>>>>>> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> >>>>>>>> <rdf:Description rdf:about="&kb;EndToEndBlueprintRoot"> >>>>>>>> xxx >>>>>>>> <ns3:about xmlns:ns3="http://protege.stanford.edu/system#" >>>>>>>> rdf:resource="&kb;DemoRootImagineID001" /> >>>>>>>> </rdf:Description> >>>>>>>> </rdf:RDF> >>>>>>>> ------------------------------------------------------- >>>>>>>> >>>>>>>> Is my usage correct? or how can I output the format that I want? >>>>>>>> What is the appropriate writing of "rdf:about"? >>>>>>>> >>>>>>> >>>>>>> You probably mean kb:DemoRootImagineID001 as you subject, that is the >>>>>>> thing you want to describe in your document. Is that right? >>>>>>> >>>>>>> Please describe what kind of data you want your document to contain. >>>>>>> >>>>>>>> >>>>>>>> Any suggestion will be appreciated! >>>>>>>> >>>>>>>> ________________________________ >>>>>>>> son...@gm... >>>>>>>> >>>>>>> >>>>>>> Regards, >>>>>>> Tom >>>>>>> >>>>>>> [1] >>>>>>> >>>>>>> >>>>>>> http://stackoverflow.com/questions/7118326/differences-between-rdfresource-rdfabout-and-rdfid >>>>>>> >>>>>>> >>>>>>> >>>>>>> ------------------------------------------------------------------------------ >>>>>>> Open source business process management suite built on Java and Eclipse >>>>>>> Turn processes into business applications with Bonita BPM Community >>>>>>> Edition >>>>>>> Quickly connect people, data, and systems into organized workflows >>>>>>> Winner of BOSSIE, CODIE, OW2 and Gartner awards >>>>>>> http://p.sf.net/sfu/Bonitasoft >>>>>>> _______________________________________________ >>>>>>> dotNetRDF-develop mailing list >>>>>>> dot...@li... >>>>>>> https://lists.sourceforge.net/lists/listinfo/dotnetrdf-develop >>>>>>> >>>>>>> >>>>>>> >>>>>>> ------------------------------------------------------------------------------ >>>>>>> Open source business process management suite built on Java and Eclipse >>>>>>> Turn processes into business applications with Bonita BPM Community >>>>>>> Edition >>>>>>> Quickly connect people, data, and systems into organized workflows >>>>>>> Winner of BOSSIE, CODIE, OW2 and Gartner awards >>>>>>> http://p.sf.net/sfu/Bonitasoft >>>>>>> _______________________________________________ >>>>>>> dotNetRDF-develop mailing list >>>>>>> dot...@li... >>>>>>> https://lists.sourceforge.net/lists/listinfo/dotnetrdf-develop >>>>>>> >>>>>> >>>>>> >>>>>> ------------------------------------------------------------------------------ >>>>>> Open source business process management suite built on Java and Eclipse >>>>>> Turn processes into business applications with Bonita BPM Community >>>>>> Edition >>>>>> Quickly connect people, data, and systems into organized workflows >>>>>> Winner of BOSSIE, CODIE, OW2 and Gartner awards >>>>>> http://p.sf.net/sfu/Bonitasoft >>>>>> _______________________________________________ >>>>>> dotNetRDF-develop mailing list >>>>>> dot...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/dotnetrdf-develop >>>>>> >>>>>> >>>>>> ------------------------------------------------------------------------------ >>>>>> Open source business process management suite built on Java and Eclipse >>>>>> Turn processes into business applications with Bonita BPM Community >>>>>> Edition >>>>>> Quickly connect people, data, and systems into organized workflows >>>>>> Winner of BOSSIE, CODIE, OW2 and Gartner awards >>>>>> http://p.sf.net/sfu/Bonitasoft >>>>>> _______________________________________________ >>>>>> dotNetRDF-develop mailing list >>>>>> dot...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/dotnetrdf-develop >>>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> Open source business process management suite built on Java and Eclipse >>>>> Turn processes into business applications with Bonita BPM Community Edition >>>>> Quickly connect people, data, and systems into organized workflows >>>>> Winner of BOSSIE, CODIE, OW2 and Gartner awards >>>>> http://p.sf.net/sfu/Bonitasoft >>>>> _______________________________________________ >>>>> dotNetRDF-develop mailing list >>>>> dot...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/dotnetrdf-develop >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> Open source business process management suite built on Java and Eclipse >>>>> Turn processes into business applications with Bonita BPM Community Edition >>>>> Quickly connect people, data, and systems into organized workflows >>>>> Winner of BOSSIE, CODIE, OW2 and Gartner awards >>>>> http://p.sf.net/sfu/Bonitasoft >>>>> _______________________________________________ >>>>> dotNetRDF-develop mailing list >>>>> dot...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/dotnetrdf-develop >>>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> Open source business process management suite built on Java and Eclipse >>>> Turn processes into business applications with Bonita BPM Community Edition >>>> Quickly connect people, data, and systems into organized workflows >>>> Winner of BOSSIE, CODIE, OW2 and Gartner awards >>>> http://p.sf.net/sfu/Bonitasoft >>>> _______________________________________________ >>>> dotNetRDF-develop mailing list >>>> dot...@li... >>>> https://lists.sourceforge.net/lists/listinfo/dotnetrdf-develop >>> >>> >>> ------------------------------------------------------------------------------ >>> Open source business process management suite built on Java and Eclipse >>> Turn processes into business applications with Bonita BPM Community Edition >>> Quickly connect people, data, and systems into organized workflows >>> Winner of BOSSIE, CODIE, OW2 and Gartner awards >>> http://p.sf.net/sfu/Bonitasoft >>> _______________________________________________ >>> dotNetRDF-develop mailing list >>> dot...@li... >>> https://lists.sourceforge.net/lists/listinfo/dotnetrdf-develop >> >> ------------------------------------------------------------------------------ >> Open source business process management suite built on Java and Eclipse >> Turn processes into business applications with Bonita BPM Community Edition >> Quickly connect people, data, and systems into organized workflows >> Winner of BOSSIE, CODIE, OW2 and Gartner awards >> http://p.sf.net/sfu/Bonitasoft >> _______________________________________________ >> dotNetRDF-develop mailing list >> dot...@li... >> https://lists.sourceforge.net/lists/listinfo/dotnetrdf-develop > > > ------------------------------------------------------------------------------ > Open source business process management suite built on Java and Eclipse > Turn processes into business applications with Bonita BPM Community Edition > Quickly connect people, data, and systems into organized workflows > Winner of BOSSIE, CODIE, OW2 and Gartner awards > http://p.sf.net/sfu/Bonitasoft > _______________________________________________ > dotNetRDF-develop mailing list > dot...@li... > https://lists.sourceforge.net/lists/listinfo/dotnetrdf-develop |