On Freitag, 31. Juli 2009, Laurent Alquier wrote:
> Thanks Markus
>
> I have used the API documentation a lot while digging through these
> questions.
>
> I am already using GetStore to retrieve all properties on a page and I
> am scanning each property to find the one I want.
>
> That doesn't seem very efficient to me and I am wondering if there is
> a more direct (faster) way to retrieve values if I already know a page
> and a property.
>
> Something like getPagePropertyValues($page,$property) if you want.

Well, as I said in my email: the function you are looking for is called 
getPropertyValues(). If you did not know the name of the property, then 
getSemanticData() is likely to be the best option.

>
> I was not able to find something close to that in the documentation,
> so I assumed that method does not exist.

But at least our name for the function is not so far from what you suggested, 
so I guess there is not much we could change to make this code more usable.

-- Markus

>
> - Laurent
>
> On Jul 30, 2009, at 4:42 PM, Markus Krötzsch wrote:
> > The direct way to access data from the store is to use the various
> > functions
> > of SMWStore, the current instance of which you obtain via
> > smwfGetStore(); see
> > the API documentation [1] for details. In your case, you would call
> > getPropertyValues($subject, $property), where $property is an
> > SMWPropertyValue
> > object that you can create with the static methods make...() in this
> > class
> > (again, see API docs). $subject is just a usual SMWWikiPageValue
> > object, also
> > creatable using static methods of this class.
> >
> > I hope the API documentation is of some use to you (I find it quite
> > detailed
> > when compared to some other software I have seen ;-). If you find
> > some docs
> > unclear or insufficient, please do not hesitate to point this out to
> > us. It
> > might also be helpful to provide further resources for developers
> > that use SMW
> > code. These could be a good addition to semantic-mediawiki.org;
> > contributions
> > are welcome.
> >
> > Cheers,
> >
> > Markus
> >
> >
> > [1] http://semantic-mediawiki.org/doc/
> >
> > On Sonntag, 26. Juli 2009, Laurent Alquier wrote:
> >> Thanks - I will give it a try during the week.
> >>
> >> I am trying to find a way to get the value of a page-property pair
> >> without having to loop through all properties on a page only to get
> >> the value of one property.
> >>
> >> This is to streamline my customized semantic search results. One of
> >> the bottlenecks is the performance hit from accessing properties for
> >> each page in the list of matches from the search. I am trying to
> >> reduce that hit to the absolute minimal number of property I need
> >> from
> >> each page.
> >>
> >> I managed to reduce the performance hit to 5 to 8 seconds per
> >> search... which is ok as long as it is under 10 seconds... but I
> >> would
> >> feel better about it if I could reduce it down to under 5 seconds per
> >> search.
> >>
> >> - Laurent
> >>
> >> On Jul 25, 2009, at 10:53 PM, Yaron Koren wrote:
> >>> Yes, you can use the API. If you go to Special:Ask, recreate the
> >>> query and select "CSV export" as the format, then hit "Find
> >>> results", you should get a URL for the CSV export you need. You then
> >>> just need to have the PHP retrieve and parse that URL; you can see
> >>> the getCSVData() function in the External Data extension for how to
> >>> do that (though your code can probably be simpler).
> >>>
> >>> -Yaron
> >>>
> >>>
> >>> On Sat, Jul 25, 2009 at 3:39 PM, Laurent Alquier
> >>> <laur...@alquier.org> wrote:
> >>> Actually, I thought about a way that could work, except I still have
> >>> to find an example in PHP.
> >>>
> >>> In case someone already knows the answer, how would I go about
> >>> getting the results of a #show or #ask query in PHP ?
> >>>
> >>> Something like :
> >>>
> >>> $propertyValuesArray = GetQueryResults("{{#show:Some page|?Some
> >>> property}}")
> >>>
> >>> Is this possible with the SMW API ?
> >>>
> >>> - Laurent
> >>>
> >>> From: "Laurent Alquier" <laur...@alquier.org>
> >>> Sent: Saturday, July 25, 2009 6:43 AM
> >>> To: "Semantic MediaWiki Developers List"
> >>> <semediawiki-devel@lists.sourceforge.net
> >>>
> >>> Subject: [SMW-devel] How about retrieving a single triple ?
> >>>
> >>>
> >>>
> >>> Related to a recent question about retrieving all triples on a page
> >>> - is there a quick way to retrieve a single triple on a page ?
> >>>
> >>> More precisely - If I have a page name and a property name, is there
> >>> a direct way to get the values for that pair (page, property name)
> >>> without having to declare the supporting structures such as :
> >>>
> >>>    $page = SMWDataValueFactory::newTypeIDValue( '_wpg',  $title-
> >>>
> >>>> getFullText());
> >>>
> >>>    $semdata = smwfGetStore()->getSemanticData($page-
> >>>
> >>>> getTitle()     );
> >>>
> >>> - Laurent
> >>>
> >>>
> >>> -----------------------------------------------------------------------
> >>>-- -----
> >>>
> >>> _______________________________________________
> >>> Semediawiki-devel mailing list
> >>> Semediawiki-devel@lists.sourceforge.net
> >>> https://lists.sourceforge.net/lists/listinfo/semediawiki-devel
> >
> > --
> > Markus Krötzsch
> > Semantic MediaWiki    http://semantic-mediawiki.org
> > http://korrekt.org    mar...@semantic-mediawiki.org
>
> ---------------------------------------------------------------------------
>--- Let Crystal Reports handle the reporting - Free Crystal Reports 2008
> 30-Day trial. Simplify your report design, integration and deployment - and
> focus on what you do best, core application coding. Discover what's new
> with Crystal Reports now.  http://p.sf.net/sfu/bobj-july
> _______________________________________________
> Semediawiki-devel mailing list
> Semediawiki-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/semediawiki-devel


-- 
Markus Krötzsch
Semantic MediaWiki    http://semantic-mediawiki.org
http://korrekt.org    mar...@semantic-mediawiki.org

Attachment: signature.asc
Description: This is a digitally signed message part.

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Semediawiki-devel mailing list
Semediawiki-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/semediawiki-devel

Reply via email to