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/

Reply via email to