Sorry, I pointed you to the SQL procedure language reference. I wanted to point you to the basic SQL reference ( create table and such ).
http://docs.openlinksw.com/virtuoso/sqlreference.html On Thu, Dec 9, 2010 at 1:40 PM, Aldo Bucchi <[email protected]> wrote: > On Thu, Dec 9, 2010 at 1:32 PM, Luka <[email protected]> wrote: >> Aldo, thank you very much for such a thorough reply but >> the thing is I'm using a CakePHP framework as development environment >> and I don't really know how would CakePHPs object relational mapping behave >> if >> I would use Virtuoso DB for everything. I don't know could it be even done >> without rewriting >> CakePHP model classes. >> By the way when we say Virtuoso DB which database would >> that be? PostgreSQL, MySQL or something totally written from scratch? > > Virtuoso has an Object Relational DBMS built-in. You can say it is > written from scratch ( over a period of many many years ) in the same > way than MySQL and PostgreSQL is written from scratch ;) > > To summarize: Virtuoso gives you an integrated environment where you have > SQL ( Object Relational = Table Inheritance and other goodies ) > XML/XQuery > RDF > > And many others. But I don't want to confuse you. The great part is > that they are all built-in and talk to each other, so you can > basically code in many languages and the logic manages data type and > data model impedance mismatch for you. > > Take a look at this chapter on SQL and also look at those on XML and RDF. > http://docs.openlinksw.com/virtuoso/sqlprocedures.html > > Regarding Cake. I have never used it with Virtuoso and I would need to > take a look to see if it works. > If it were ODBC compliant that would be the case but these days most > developers tie their apps to some DB specific features. > > Regards, > A > >> >> So, I guess I'll have to do it the way you mentioned as a "bad" way. MySQL >> (Relational) + Virtuoso(RDF) >> >> Still, I don't have a solution for my php.ini problem and MySQL driver? >> >> Thank you very much, >> >> Luka >> >> >> On 9.12.2010. 17:16, Aldo Bucchi wrote: >> >> Hi Luka, >> >> Whether to host PHP in Virtuoso seems to me like a secondary subject. >> The primary subject and the one you need to carefully analyze is >> whether you need MySQL at all. >> If you are tied to MySQL for a specific reason, so be it. But here's >> what would happen if you ony use Virtuoso. >> >> * The state of your system in ONE database ( easier for backups, topology, >> etc ) >> * Easily moving to/from SQL and RDF = less development = more powerful >> features for your app. >> >> This is key. >> >> I am using Virtuoso as the RDF-only part in several systems and the >> biggest cost from a developer point of view is making it talk to its >> SQL counterparts ( for example, you have an ID/URI in RDF that >> actually points to an ID in a SQL database and the label exists only >> in the SQL part ). On the other hand, on those systems where >> everything lives in Virtuoso I you can just JOIN both in a single >> query. >> >> Look at the following pseudocode ( not guaranteed to run I am making >> it up now ): >> >> select distinct >> T2.id, T2.label >> from >> ( sparql select distinct * where { ?product x:has_category x:food; >> x:has_id ?id } ) as T1, >> product_data as T2 >> where >> T1.id = T2.id >> >> SPARQL and SQL working seamlessly together ( versus a SPARQL query + >> php loop + many SQL queries ) >> >> This is basic stuff btw. >> >> For what you are saying ( keeping relations/categories in RDF ) some >> of the killer features are SPARQL's flexibility and some killer >> inference capabilities like: >> transitivity ( to get ALL products under a top-level category and its >> descendants ) and reflexivity ( related_to should work both ways ). >> >> In the end. The small learning curve you may find in the beginning >> will pay off when you get to build queries to power the User >> Experience in your system. And that's the part that matters. >> >> Regards, >> A >> >> On Thu, Dec 9, 2010 at 11:06 AM, Luka <[email protected]> wrote: >> >> Yes, I have read that article first because it was supposed to be exactly >> what I was looking for >> but it was written for linux users focusing on how to build Virtuoso with >> php etc. so >> I had to improvise a little bit since I'm using windows. >> After installing Virtuoso (that obviously comes with php dll) I've >> uncommented few lines in virtuoso.ini to load php and it seems >> to be working because I had php installed before with PATH variable already >> set. >> What's weird is that when I run phpInfo() inside Virtuoso web server, >> php.ini path is empty/unknown, there is no MySQL section etc. >> When I run that script in Apache web server everything is there? >> So I'm not really sure whether I should have separate php installations or >> just copy php installation >> folder into Virtuoso hosting/php/ folder and then change php.ini or there's >> a Virtuoso config file where I can >> change the path to php.ini? >> >> As I understood there are no RDF views and external data sources in open >> source version of Virtuoso. >> >> ODBC MySQL driver is what I'm looking for in the case of open source version >> too? >> This way Virtuoso will be a web server hosting php and connecting to >> external MySQL? >> When I say external I want to say a MySQL that is not a part of Virtuoso >> like a plugin (or something integrated by default)? >> >> Thank you for you time guys, especially you Hugh, >> Luka >> >> On 9.12.2010. 12:56, Hugh Williams wrote: >> >> Hi Luka, >> Have you read the following document on hosting PHP / LAMP applications in >> Virtuoso: >> http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtuosoPHP >> We also have migrated popular LAMP applications like phpBB, WordPress, >> MediaWIki & Drupal to be completed hosted in Virtuoso as detailed at: >> http://ods.openlinksw.com/wiki/ODS/#Third-Party%20Platform%20Integration >> In fact our phpBB3 support forum (http://boards.openlinksw.com/support) is >> hosted entirely in Virtuoso in the cloud ... >> As you say the open source product does not support the creation of RDF >> Views to remote relational data stores, so you essentially will have to >> duplicate the MySQL data in Virtuoso either as pure RDF triples or SQL data >> that is the mapped to RDF Views of the now local SQL Data if you are to use >> it as a triple store for querying the data. So you may as well host >> everything in Virtuoso if there is no physical restriction on using MySQL >> and other LAMP components ( other then you are a FAN :)), there will be a >> learning curve to get up speed with Virtuoso but it will be worth it in the >> end as you have an all in one solution making deployment ( and >> re-deployment) a simple process (just copy binary, config & db file to new >> location) ... >> Best Regards >> Hugh Williams >> Professional Services >> OpenLink Software >> Web: http://www.openlinksw.com >> Support: http://support.openlinksw.com >> Forums: http://boards.openlinksw.com/support >> Twitter: http://twitter.com/OpenLink >> On 9 Dec 2010, at 10:59, Luka wrote: >> >> Hello everyone, >> >> I am working on a web application that would try to leverage the use of RDF >> data. >> Since, I am PhP/MySQL fan I have some questions regarding the organization >> of system. >> >> I'm using the open source version of Virtuoso. >> >> So, my application will be a CMS for a specific domain and I thought that >> the part >> of application that has to do with users login, ACL, static pages, blog >> components etc. >> should be stored the good old relational way in MySQL. >> Since this CMS will have a component that will enable visitors >> to browse a tree/list of products sold by a specific shop, I thought to >> keep some relationships between products, producers, sellers, shippers etc. >> in RDF format. I would >> try to create a simple ontology for this domain. >> >> My question is: how would you organize your project? >> >> I thought of Installing >> 1. Apache with PHP, >> 2. MySQL and >> 3. Virtuoso >> >> instead of hosting PHP directly in Virtuoso . [I am more comfortable with >> Apache :)] >> >> ...I would build my CMS on PHP/MySQL stack and as for that specific part >> where RDF >> data would be used I thought I could map existing MySQL tables that hold >> this information? >> I read about RDF views but I'm not so sure that open source version can >> import data from >> external DBMS? >> Do you think I should use RDF views (if even possible in o.s. version) or I >> should >> create a RDF quad store that would be a duplicate of what would already >> exist in MySQL tables? >> If you have any suggestions for reading (tutorials, manuals) please do share >> it with me... >> >> I am new to Virtuoso so please excuse me if I made a few mistakes in >> terminology :) >> >> Thank you very much. >> >> Luka >> >> >> ------------------------------------------------------------------------------ >> This SF Dev2Dev email is sponsored by: >> >> WikiLeaks The End of the Free Internet >> http://p.sf.net/sfu/therealnews-com_______________________________________________ >> Virtuoso-users mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/virtuoso-users >> >> >> ------------------------------------------------------------------------------ >> This SF Dev2Dev email is sponsored by: >> >> WikiLeaks The End of the Free Internet >> http://p.sf.net/sfu/therealnews-com >> _______________________________________________ >> Virtuoso-users mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/virtuoso-users >> >> >> >> >> > > > > -- > Aldo Bucchi > @aldonline > skype:aldo.bucchi > http://aldobucchi.com/ > -- Aldo Bucchi @aldonline skype:aldo.bucchi http://aldobucchi.com/
