Hello everyone, this is my 3rd or 4th question posted in this list and I would like to say that all of you have been very helpful so far and I hope it will stay like that after reading this one too :)
so... I am building a web application in PHP that is supposed to explore how semantic storage can be used as storage in web applications. My application is a catalogue of products sold by few vendors that holds info on products (prices, descriptions etc.) I know that using Semantic storage in my case can seem little bit awkward instead of using RDFa but this app serves only as a demonstration of using triple store as database. NOTE: mySQL will be used for web app specific data storage. I know Virtuoso could serve here as a data storage for all data but since my PHP framework enables great RAD features when using mySql (or PostgreSQL) I'll stick to relational db here. As I said, I don't want to include Semantic data by adding RDFa tags into my xHTML code (which is product of application displaying data from relational database) but using Virtuoso RDF store as a database for all data regarding sellers, products, product description, product image folder etc. Basically, only products and sellers info will be stored as triples (ok, quads). So, the idea to build catalogue RDF and import it to Virtuoso when it's done. I know it could be done directly through Virtuoso/SPARQL but it doesn't matter now. By the way, I will use GoodRelations e-commerce ontology since it covers well my domain. So, first I would build my RDF (in real example using turtle syntax): PRODUCT A gr:hasWeight "100" PRODUCT A gr:hasPrice "20" PRODUCT A gr:isSoldBy SELLER1 Later in my PHP/SPARQL queries I would retrieve this data and present it to the user just like I would usually do with SQL. Question 1: When I store my graph what do I use as IRIs here? Do I use internal URLs of the application ? What I mean is if I wanted to say - PRODUCT_A gr:isSoldBy SELLER1 - do I do it something like this: "myDomain.com/products/PRODUCT_A.html" gr:isSoldBy "myDomain.com/products/SELLER1.html" ? If so, I have to be sure at modelling phase how my route controller will interpret urls ? What I mean by this e.g. my application would form the URLs in following manner: domain.com/controllerName/action/DATA where DATA would be grabbed from triple store ? How would you store this data in the triple store? Question 2: What about data that says, for example, in which folder images of the product can be found ? How do I store that info? I know this data has no semantic value but I need it in order to make application work. Which vocabulary should I use to say: - PRODUCT_A vocab:hasFolder "/path/toFolder/" - ____ I know my questions can seem little bit strange and maybe I got it all wrong but I'm coming from ER background (actually, like everyone else here) so I hope you'll understand what seems to be confusing me here... Thank you so much for even reading my question ;) Best regards, Luka -- chao.com.hr - majice iz susjedstva :)
