From: <son...@gm...> - 2014-07-01 05:44:36
|
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> ------------------------------------------------------- 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); ------------------------------------------------------- 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"? Any suggestion will be appreciated! son...@gm... |
From: Tomasz P. <tom...@gm...> - 2014-07-01 09:14:13
|
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 |
From: <son...@gm...> - 2014-07-01 10:23:55
|
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 ------------------------------------- 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> ------------------------------------- Also I have to use this kind of format because it is the input of another system I have to use... 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 |
From: Tomasz P. <tom...@gm...> - 2014-07-01 20:54:47
|
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 > |
From: <son...@gm...> - 2014-07-03 14:04:14
|
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 |
From: Tomasz P. <tom...@gm...> - 2014-07-03 14:22:25
|
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 > |
From: <son...@gm...> - 2014-07-03 15:40:02
|
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 |
From: Tomasz P. <tom...@gm...> - 2014-07-03 18:58:37
|
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 > |
From: song x. <son...@gm...> - 2014-07-04 06:49:06
|
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 |
From: Tomasz P. <tom...@gm...> - 2014-07-04 07:17:59
|
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 |
From: song x. <son...@gm...> - 2014-07-04 07:42:30
|
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 |
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 |
From: Rob V. <rv...@do...> - 2014-07-04 07:54:12
|
Song dotNetRDF provides limited configurability of the RDF/XML writer because we prefer correctness over human readability As Tom has already pointed out the serialisation is somewhat irrelevant you just need to focus on the triples, if another system requires a specific serialisation rather than triples then that is a bug/limitation in that system Again as Tom has already pointed out to create such typed nodes you need to have relevant rdf:type triples present in your graph otherwise they can never be output. dotNetRDF will try to use typed nodes in RDF/XML depending on the configuration of the writer though it can never guarantee that it will produce them. You can try increasing the CompressionLevel property of your RdfXmlWriter instance to a higher value (10 is the highest currently, see WriterCompressionLevels for constants) which will make it more likely that these will be output but does not guarantee it Rob On 04/07/2014 08:48, "Tomasz Pluskiewicz" <tom...@gm...> wrote: >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-rdfr >>>>>>>>esource-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 > >-------------------------------------------------------------------------- >---- >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 |